番号付きのボタンを含むグリッドで単純な GUI を作成しようとしています。問題は、ボタンのテキストがボタンのサイズに合わせて調整されないことです。
最初にコードをお見せしましょう。
import javax.swing.*;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class SimpleGUI implements ActionListener {
private JFrame frame;
private JPanel grid;
private JButton[] buttons;
public SimpleGUI() {
frame=new JFrame("Buttons grid");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
grid=new JPanel();
buttons=new JButton[100];
for (int i=0; i<buttons.length; i++) {
buttons[i]=new JButton(Integer.toString(i+1));
buttons[i].setActionCommand(Integer.toString(i+1));
grid.add(buttons[i]);
buttons[i].addActionListener(this);
}
frame.getContentPane().add(grid);
}
public static void main(String[] args) {
SimpleGUI gui=new SimpleGUI();
gui.go();
}
public void go() {
grid.setLayout(new GridLayout(10,10));
frame.setSize(500,500);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String buttonNum=e.getActionCommand();
System.out.println("You've pressed "+buttonNum);
}
}
ボタンは小さすぎてテキストが収まらないため、数字の代わりに 3 つのドットがボタンに表示されます。( ... ) ウィンドウを拡大する (それに応じてボタンのサイズを拡大する) 場合にのみ、数字がボタンに適切に表示されます。テキストをボタンのサイズに合わせて常に表示されるようにする方法はありますか?