【问题标题】:checkboxgroup does not appear to the panel复选框组没有出现在面板上
【发布时间】:2014-01-10 21:01:15
【问题描述】:

我做错了什么?我正在尝试向 jpanel1 添加一个复选框组。但我真的不明白为什么不起作用?
p.s. GUI 由 NetBeans matisse 制作,然后我在一个新类中手动编辑代码。 谢谢

CheckboxGroup cbGroup = new CheckboxGroup();
  Checkbox importBox = new Checkbox("aaa", cbGroup, true);
  Checkbox specialBox = new Checkbox("bbb", cbGroup, false);


@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    jPanel1 = new javax.swing.JPanel();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

    jPanel1.setLayout(new FlowLayout());
    jPanel1.add(importBox);
    jPanel1.add(specialBox);

    jPanel1Layout.setHorizontalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 210, Short.MAX_VALUE)
    );
    jPanel1Layout.setVerticalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 100, Short.MAX_VALUE)
    );

【问题讨论】:

  • 您实际上在哪里将 jPanel1 添加到 JFrame 中?您混合使用 awt 和 Swing 而不是仅使用 JCheckBoxes 有什么原因吗?
  • 如需尽快获得更好的帮助,请发布MCVE。不要在没有充分理由的情况下将 Swing 与 AWT 混合使用。在这里您将使用JCheckBoxButtonGroup
  • @AndrewThompson MCVE??? SSCCE 是否触犯了法律或其他问题?
  • @splungebob 最初的推动力是我要求将其作为接近投票删除。然后是this thread,我觉得我可能能够解决其中的一些缺陷(例如,使信件和文件都更短)和它所吸引的批评(阅读主题)。将它移到 SE 也让我和一群人更愿意链接到它。我对结果很满意。

标签: java swing checkbox jpanel


【解决方案1】:

您将 JCheckBox(s) 添加到容器中;可能是这样的

public static void main(String args[]) {
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            JFrame frame = new JFrame();
            ButtonGroup bg = new ButtonGroup();
            JCheckBox importBox = new JCheckBox("aaa", true);
            JCheckBox specialBox = new JCheckBox("bbb", false);
            bg.add(importBox);
            bg.add(specialBox);
            JPanel panel = new JPanel();
            panel.add(importBox);
            panel.add(specialBox);
            frame.add(panel);
            frame.pack();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
        }
    });
}

看起来像这样

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
  • 2021-09-17
  • 1970-01-01
  • 2013-04-26
  • 1970-01-01
相关资源
最近更新 更多