使用GridLayout创建框架时,使用setBound()不会更改按钮大小。框架的代码是:
f1=new JFrame("Select any one");
ch=new JCheckBox("SUBSTITUTION CYPHER");
ch1=new JCheckBox("two");
ch2=new JCheckBox("three");
ch3=new JCheckBox("four");
ch4=new JCheckBox("five");
f1.add(ch);
f1.add(ch1);
f1.add(ch2);
f1.add(ch3);
f1.add(ch4);
f1.setLayout(new GridLayout(5, 1));
b10.addActionListener(this);
b10.setBounds(280,380,10,10);
f1.add(b10);
f1.setSize(300,400);
f1.setVisible(true);
答案 0 :(得分:2)
根据setBounds
此方法更改与布局相关的信息,因此, 使组件层次结构无效。
因此,setBounds
设置特定布局的大小和位置。在您的JFrame
GridLayout
设置setBounds
,{{1}}无效。
答案 1 :(得分:2)
GridLayout不是按钮的最佳选择,因为GridLayout将占用其容器中的所有空间。所以没有setBounds()不会是你想要实现的目标的最佳选择。
我建议看一下LayoutManagers的这个参考:Reference for LayoutManagers
我建议看看一些替代的LayoutManagers。你可以试试GridBagLayout。
答案 2 :(得分:1)
如果您真的想使用GridLayout
,您还可以先为每个网格添加JPanel
,然后将较小的JButton
添加到JPanel
。