Java Swing忽略JButton上的文本大小

Cha*_*api 0 java swing

有没有办法"忽略"天气按钮的文本适合与否,所以在它不适合的情况下,它不显示"..."?

我正在制作一个有按钮网格的游戏,我正在使用国际象棋unicode字符作为这些按钮上的文字.他们使用小字体显示但是它们非常小.但是对于较大的字体,java"认为"它们不适合并将它们显示为"......"甚至认为它们确实适合.

区别

生成按钮的代码:

        jPanel.setLayout(new GridLayout(13, 13));
    tab = new JButton[13][13];  //Tablero
    for (int j = 0; j <= 12; j++) {
        for (int i = 0; i <= 12; i++) {

            JButton jButton = new JButton();
            jButton.setText("?");
            jButton.setBackground(getColor(i, j));
            jPanel.add(jButton);
            tab[i][j] = jButton;
            //jButton.setFont(new Font("TimesRoman", Font.PLAIN, 14));
            jButton.setForeground(Color.pink);
        }
    }
Run Code Online (Sandbox Code Playgroud)

cam*_*ckr 5

如果看到"..."则表示组件的大小太小而无法正确显示文本.这意味着您要覆盖按钮的某些属性:

  1. 您正在使用空布局并手动指定大小
  2. 您正在使用布局,但您已使用setPreferredSize()

在这些情况下,按钮将无法正确绘制.

您可以通过更改按钮的边距让棋子占据更多的按钮空间:

JButton button = new JButton(...);
button.setMargin( new Insets(5, 5, 5, 5) );
Run Code Online (Sandbox Code Playgroud)

但是你仍然必须修复上述两个问题之一,以便正确使用Swing布局.