【发布时间】:2012-11-18 23:17:32
【问题描述】:
我正在使用 GridBagLayout 编写地址簿 GUI。问题是,当我设置不工作的 gridx 和 gridy 时,它看起来因为没有使用布局并且组件落在 Frame 的中心。我不是在粘贴整个代码,只是为 1 JButton 粘贴一小段代码,让您看看发生了什么.. 请查看代码并指导我如何修复它,现在按钮落在 JFrame 的中心
我只是初学者,所以请不要介意愚蠢的样式代码或任何类似的问题
public class rect
{
JFrame frame ;
JPanel panel1 ;
JButton b1;
GridBagConstraints gbc;
public rect()
{
panel1 = new JPanel();
panel1.setSize(300,300);
panel1.setLayout(new GridBagLayout());
gbc = new GridBagConstraints();
frame= new JFrame("Address ?ooK ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
b1= new JButton () ;
b1.setText("Hello ");
gbc.gridx=1;
gbc.gridy=0;
panel1.add(b1, gbc) ;
frame.add(panel1);
panel1.setVisible(true);
frame.setVisible(true);
}
【问题讨论】:
-
它应该在哪里?尝试将
weightx/weight设置为1.0并将anchor更改为GridBagLayout.NORTH... 看看会发生什么 ;-) 我建议仔细阅读 GBL 文档和教程。
标签: java swing gridbaglayout