JButtons具有默認大小,我無法更改它。我試着用setSize,它什麼都不做。當我點擊一些JButton時,圖片將被設置,JButtons將獲得圖片的大小。我想設置一個JButton的大小是一樣的JButton的大小相同,當我點擊它(的JButton與圖片)JButton默認大小不能在GridBagLayout中更改
btn=new JButton[9];
j=0;
for (i = 0; i <btn.length; i++) {
btn[i] = new JButton("");
btn[i].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
if(j%2==0){
((JButton) e.getSource()).setIcon(new ImageIcon("resources/X.png"));
}else{
((JButton) e.getSource()).setIcon(new ImageIcon("resources/O.png"));
}
((JButton) e.getSource()).setEnabled(false);
j++;
}
});
}
GridBagConstraints gbc=new GridBagConstraints();
gbc.gridx=0;
gbc.gridy=0;
p2.add(btn[0],gbc);
gbc.gridx=1;
gbc.gridy=0;
p2.add(btn[1],gbc);
gbc.gridx=2;
gbc.gridy=0;
p2.add(btn[2],gbc);
.........
您可以:使用空白圖像;使用'fill'和'weightx/y'約束和/或'ipadx/y'約束;使用'GridLayout' – MadProgrammer
setPreferredSize工作! – GlacialMan
@GlacialMan'setPreferredSize'是一個壞主意,代表了一個習慣,它會導致你無法結束問題,學會在沒有它的情況下生活。 [我應該避免在Java Swing中使用set(Preferred | Maximum | Minimum)Size方法嗎?](http://stackoverflow.com/questions/7229226/should-i-avoid-the-use-of-setpreferredmaximumminimumsize-methods -in-java-swi) – MadProgrammer