我在使用动作侦听器在同一个类中调用void时遇到问题。
例..
码:
public class Product extends JPanel {
JButton add;
JPanel pAdd;
JLabel test;
JFrame frame;
public Product() {
add = new JButton("Add Product");
add.addActionListener(new ButtonListener());
add(add);
}
public void panelAdd(){
pAdd = new JPanel();
pAdd.add(new JLabel("try"));
add(pAdd);
}
private class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
panelAdd();
}
}
}
如何调用
panelAdd
void方法? 最佳答案
将组件添加到可见的JFrame
/ JPanel
/其他组件时,添加后无需调用revalidate()
和repaint()
方法。像下面一样更改您的panelAdd()
:
public void panelAdd(){
pAdd = new JPanel();
pAdd.add(new JLabel("try"));
add(pAdd);
revalidate();
repaint();
}