Zwa*_*ade 3 java swing jbutton
我有一个JPanel,其中包含一个带有ActionListener的JButton.经过一定的点击后,需要删除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);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
submit.setVisible(false)如果你需要JButton再次在屏幕上看到这个,请打电话(相反),
你必须打电话给容器revalidate()和 repaint()
JPanel因为你打电话不能直接class extends JPanel进入,所以你必须打电话
.
remove(jc);
revalidate();
repaint()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1007 次 |
| 最近记录: |