ActionListener を持つ JButton を含む JPanel があります。一定回数クリックしたら、JButton を削除する必要があります。ただし、 remove() を呼び出すと、押されたボタンが消えません。
これが私のコードです:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class SetuPanel extends JPanel {
private JTextField user = new JTextField();
private JLabel label = new JLabel();
private JButton submit = new JButton("Submit");
private int phase = 0;
public SetuPanel() {
super(new FlowLayout());
user.setPreferredSize(new Dimension(120,22));
submit.addActionListener(new Submit());
label.setText("Enter Desired Username:");
add(label);
add(user);
add(submit);
}
private void remov(JComponent jc) {
remove(jc);
validate();
}
private class Submit implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println(user.getText());
if (phase == 2) {
phase++;
label.setText("Playing!");
remov(submit);
}
}
}
}
何か案は?