初学JAVA,刚开始接触SWING,在学习JButton的时候遇到如下这样一个问题import java.net.URL;
import javax.swing.;public class JButtonTest extends JFrame {
private static final long serialVersionUID = 20100925L; public JButtonTest() {
Container container = getContentPane();
setTitle(创建带文字与图片的按钮);
setSize(350, 200);
container.setLayout(new GridLayout(3, 2, 5, 5));
URL url = JButtonTest.class.getResource(imageButton.jpg);
Icon icon = new ImageIcon(url);
for (int i = 1; i = 5; i++) {
JButton jB1 = new JButton(button + i, icon);
container.add(jB1);
if (i % 2 != 0) {
jB1.setEnabled(false);
}
}
JButton jB2 = new JButton(icon);
jB2.setMaximumSize(new Dimension(90, 30)); //这里的setMaximumSize为什么不起作用?是因为前面的“container.setLayout(new GridLayout(3, 2, 5, 5));”的关系吗?
jB2.setToolTipText(图片按钮);
jB2.setBorderPainted(false);
jB2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionE) {
JOptionPane.showMessageDialog(null, 弹出对话框);
}
});
container.add(jB2);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
} public static void main(String[] args) {
new JButtonTest();
}
}

解决方案 »

  1.   

    container.setLayout(new GridLayout(3, 2, 5, 5));这句话注释后大小是不一样大,LZ为什么你都不习惯加引号的,贴的代码好多错
      

  2.   

    呃,不是我没加引号,而是我复制代码过来后,自动引号就没了,不知为何,我也懒得改……还有,这句话注释后大小当然是不一样大,因为默认是BORDER布局的,而我这里是网格布局的,但是setMaximumSize还是不起作用啊。