Я делаю апплет и, как часть своего апплета, я хочу, чтобы это произошло: когда пользователь нажимает «ОК», старые компоненты (некоторые переключатели) удаляются, и добавляется новый 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();
}
}
Что я делаю не так?