0

幅のサイズよりも大きなテキストを持つ JLabel があるため、テキストは次のように表示されます。

ここに画像の説明を入力

私が欲しいのは、テキストが次のように切り取られていることです:

エル

ラベルのサイズ幅を変更することはできません。必要なサイズは、次の行です。

Cuadros[5].setText("Auto Incremet");
Cuadros[5].setSize(ImgA(Cuadros[5]), ImgL(Cuadros[5]));

あなたのアドバイスをありがとう、私は私の考えを理解できることを願っています:D

4

2 に答える 2

0

この投稿はクローズされていないので、回答を投稿しても問題ないことを願っています。とにかく、そのレイアウトが、ラベルがすべての側面のハード境界に収まるように必要とするものでない限り、解決策はJLabel独自のに入れ子にすることができると思います。JPanelBorderLayoutGridLayout

これは問題の例です:

ここに画像の説明を入力 ここに画像の説明を入力

この例を示す SSCCE を次に示します。

import javax.swing.*;
import java.awt.*;

public class TruncationTest1
{
    public static void main(String[] args)
    {
        JFrame f = new JFrame("Truncation Test");
        JPanel panel = new JPanel(); //Default layout, AKA FlowLayout
        JLabel label = new JLabel("Try resizing the frame: This will not be truncated for some reason.");
        JLabel label2 = new JLabel("However, this JLabel, on the other hand, will become truncated.");
        f.setSize((int)label.getPreferredSize().getWidth() + 40,65);
        f.setLayout(new GridLayout(2,1));
        f.setLocationRelativeTo(null);
        f.setBackground(Color.BLACK);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.add(panel);
            panel.setBackground(Color.WHITE);
            panel.add(label);
        f.add(label2);
            label2.setHorizontalAlignment(JLabel.CENTER);
            label2.setForeground(Color.WHITE);
        f.setVisible(true);
    }
}
于 2015-01-07T05:24:54.673 に答える
0

フォローしてみて、

 final JLabel label = ...
...
label.setText("prototype text to define size");
final Dimension size = label.getPreferredSize();
label.setMinimumSize(size);
label.setPreferredSize(size);
...
label.setText(...);
于 2013-10-18T16:46:05.947 に答える