gpt4 book ai didi

java - 在小程序中添加组件

转载 作者:行者123 更新时间:2023-12-02 08:14:39 25 4
gpt4 key购买 nike

我正在制作一个小程序,作为我的小程序的一部分,我希望发生这种情况:当用户按“确定”时,旧组件(一些单选按钮)将被删除,并添加一个新的 JPanel,其中包含一堆文本字段。

但是,我不知道如何在小程序启动后向其添加新组件。我通过忽略删除部分(我知道该怎么做)并仅添加一个简单的 JLabel 来使问题变得更简单,但即使这样也不会添加!

这是迄今为止我的代码:

// imports omitted

public class Class extends Applet implements ActionListener
{
Button okButton;
CheckboxGroup radioGroup;
Checkbox radio1;
Checkbox radio2;
Checkbox radio3;
JLabel j;

public void init()
{
setLayout(new FlowLayout());
okButton = new Button("OK");
j = new JLabel("hello");
radioGroup = new CheckboxGroup();
radio1 = new Checkbox("Red", radioGroup,false);
radio2 = new Checkbox("Blue", radioGroup,true);
radio3 = new Checkbox("Green", radioGroup,false);
add(okButton);
add(radio1);
add(radio2);
add(radio3);
okButton.addActionListener(this);
}

public void repaint(Graphics g)
{
if (radio1.getState()) add(j);
}

public void actionPerformed(ActionEvent evt)
{
if (evt.getSource() == okButton) repaint();
}
}

我做错了什么?

最佳答案

您不应该重写repaint方法,当然也不应该在此方法中添加组件。只需从小程序中删除单选按钮(使用其 remove 方法),然后在 actionPerformed 方法中将标签添加到小程序中,与在 中添加它们的方式相同>init 方法。

您可能需要在之后调用validate

关于java - 在小程序中添加组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6669802/

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