gpt4 book ai didi

Java - 按钮中的按钮

转载 作者:行者123 更新时间:2023-12-01 17:11:33 25 4
gpt4 key购买 nike

我正在使用 2 个 JButton 编写一个程序,但是我有一个 MyFrame 类,并且按钮位于名为 KnoppenPanel 的不同类中。问题是,当我这样做时,我将在 JButton 中得到一个 JButton。所以我有 2 个按钮和围绕它们的另一个按钮。我该如何解决这个问题?

我的框架:

public class MyFrame extends JFrame {

Uithangbord u = new Uithangbord();
KnoppenPanel kp = new KnoppenPanel();

public MyFrame() {
setLayout(new FlowLayout());

add(u);
add(kp);

setSize(280, 180);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}

public class KnoppenPanel extends JButton implements ActionListener {
private JButton b, b2;
private JPanel p1;

Uithangbord bord = new Uithangbord();

public KnoppenPanel() {
p1 = new JPanel();
add(p1);

b = new JButton("Open");
p1.add(b);
b.addActionListener(this);

b2 = new JButton("Gesloten");
p1.add(b2);
b2.addActionListener(this);
}

public void actionPerformed(ActionEvent event) {
JButton knop = (JButton)(event.getSource());
if (knop == b) {
b.setEnabled(false);
b2.setEnabled(true);
bord.maakOpen();
}
if (knop == b2) {
b2.setEnabled(false);
b.setEnabled(true);
bord.maakGesloten();
}
}
}

最佳答案

您的类正在扩展JButton。然后,当您添加 JPanel(带有 2 个 JButton)时,您将其添加到 JButton 中。

我认为您想要的是 KnoppenPanel 只有 2 个 JButtons 那么您只需要更改:

public class KnoppenPanel extends JButton implements ActionListener {

public class KnoppenPanel extends JPanel implements ActionListener {

如果进行此更改,您还可以直接在 KnoppenPanel 中添加 JButton,如下所示:

public KnoppenPanel() {

b = new JButton("Open");
add(b);
b.addActionListener(this);

b2 = new JButton("Gesloten");
add(b2);
b2.addActionListener(this);
}

关于Java - 按钮中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23546310/

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