首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GridBagLayout故障排除

GridBagLayout故障排除
EN

Stack Overflow用户
提问于 2015-07-08 05:08:15
回答 1查看 55关注 0票数 0

因此,我决定让我的图形用户界面看起来更好一些,而改用GridBagLayout。以下是我要添加到面板中的对象:

代码语言:javascript
复制
choosePanel = new JPanel();
choosePanel.setLayout(new GridBagLayout());

chooseLabel = new JLabel("Choose a quarter to input data for:");
addItem(chooseLabel, 0, 0, 1, 1);

qGroup = new ButtonGroup();

    q1 = new JRadioButton("Q1");
    qGroup.add(q1);
    q1.setSelected(true);
    addItem(chooseLabel, 0, 1, 1, 1);

    q2 = new JRadioButton("Q2");
    qGroup.add(q2);
    addItem(chooseLabel, 0, 2, 1, 1);

    q3 = new JRadioButton("Q3");
    qGroup.add(q3);
    addItem(chooseLabel, 0, 3, 1, 1);

    q4 = new JRadioButton("Q4");
    qGroup.add(q4);
    addItem(chooseLabel, 0, 4, 1, 1);

chooseButton = new JButton("Press to Enter Quarter");
    chooseButton.addActionListener(e->{
        cl.show(mainPanel, "Info");
        this.setSize(330, 240);
    });
    chooseButton.setPreferredSize(new Dimension(200, 100));
    addItem(chooseLabel, 1, 1, 1, 1);

    resetButton = new JButton("Reset all previous data");
    resetButton.addActionListener(e->{

    });
    resetButton.setPreferredSize(new Dimension(200, 100));
    addItem(chooseLabel, 1, 2, 1, 1);

下面是"addItem“方法:

代码语言:javascript
复制
private void addItem(JComponent c, int x, int y, int width, int height){
    GridBagConstraints gbc = new GridBagConstraints();
    gbc.gridx = x;
    gbc.gridy = y;
    gbc.gridwidth = width;
    gbc.gridheight = height;
    gbc.weightx = 100.0;
    gbc.weighty = 100.0;
    gbc.fill = GridBagConstraints.NONE;
    choosePanel.add(c, gbc);
}

我的问题是,当我运行程序时,所有显示的都是屏幕中央的chooseLabel,而不是其他任何东西。有人知道怎么解决吗?.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-08 05:12:16

变化

代码语言:javascript
复制
q1 = new JRadioButton("Q1");
qGroup.add(q1);
q1.setSelected(true);
addItem(chooseLabel, 0, 1, 1, 1);

q2 = new JRadioButton("Q2");
qGroup.add(q2);
addItem(chooseLabel, 0, 2, 1, 1);

q3 = new JRadioButton("Q3");
qGroup.add(q3);
addItem(chooseLabel, 0, 3, 1, 1);

q4 = new JRadioButton("Q4");
qGroup.add(q4);
addItem(chooseLabel, 0, 4, 1, 1);

代码语言:javascript
复制
q1 = new JRadioButton("Q1");
qGroup.add(q1);
q1.setSelected(true);
addItem(q1 , 0, 1, 1, 1);

q2 = new JRadioButton("Q2");
qGroup.add(q2);
addItem(q2, 0, 2, 1, 1);

q3 = new JRadioButton("Q3");
qGroup.add(q3);
addItem(q3, 0, 3, 1, 1);

q4 = new JRadioButton("Q4");
qGroup.add(q4);
addItem(q4, 0, 4, 1, 1);

以此类推。您一直在添加chooseLabel

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31283917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档