gpt4 book ai didi

java - 在 Java Swing 中将按钮添加到 JPanel

转载 作者:行者123 更新时间:2023-11-30 09:33:54 24 4
gpt4 key购买 nike

我正在将 JLabel 和 JCombobox 附加到 JPanel。这工作正常。但是当我向其添加两个按钮时,我看不到这些按钮。

下面是我的代码:

JPanel jPanel=new JPanel();
jPanel.setLayout(null);
JLabel label = new JLabel("Welcome");
label.setFont(new Font("Helvetica", Font.ROMAN_BASELINE, 13));
jPanel.add(label);
JComboBox combo = new JComboBox(comboboxbean);
combo.setPreferredSize(new Dimension(285, 20));
combo.setFont(new Font("Helvetica", Font.ROMAN_BASELINE, 13));
jPanel.add(combo);
startButton = new JButton("Start");
stopButton = new JButton("Stop");
startButton.addActionListener(this);
startButton.setActionCommand("enable");
jPanel.add(startButton);
stopButton.addActionListener(this);
stopButton.setActionCommand("enable");
jPanel.add(stopButton);
Insets insets = jPanel.getInsets();

Dimension size = label.getPreferredSize();
label.setBounds(20 + insets.left, 30 + insets.top,
size.width, size.height);

Dimension size1 = combo.getPreferredSize();
combo.setBounds(20 + insets.left, 65 + insets.top,
size1.width, size1.height);

Dimension size2 = startButton.getPreferredSize();
startButton.setBounds(20 + insets.left, 100 + insets.top,
size2.width, size2.height);

Dimension size3 = stopButton.getPreferredSize();
stopButton.setBounds(20 + insets.left, 130 + insets.top,
size3.width, size3.height);

frame.add(jPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

最后,我将 JPanel 添加到 JFrame。我已将 JPanel 的布局设置为 null。我找不到为什么不显示按钮。感谢您的帮助。

最佳答案

如果布局为 null,则意味着您必须使用 setBounds() 方法来定位您添加到 JPanel 的组件。您目前没有这样做,所以我认为无论是在 JPanel 之外,还是在 JComboBox 下方,都会绘制按钮。
无论如何,如果您希望按钮位于特定位置,您必须告诉他们,这不会像使用 null 以外的 Layout 时那样自动。

关于java - 在 Java Swing 中将按钮添加到 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11985987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com