Java 使用actionlistener调用同一类中的void函数

Java 使用actionlistener调用同一类中的void函数,java,swing,methods,actionlistener,void,Java,Swing,Methods,Actionlistener,Void,我在使用action listener调用同一类中的函数void时遇到问题 例如。。 代码: 如何调用paneladdvoid方法?如果 System.out.println("hi"); 到 } 您将看到hi打印到您的控制台,您的代码正在工作,但布局有问题。当您将组件添加到visible JFrame/JPanel/其他组件时,您需要在添加后调用重新验证和绘制方法。更改您的面板添加,如下一步: public void panelAdd(){ pAdd = new JPanel();

我在使用action listener调用同一类中的函数void时遇到问题

例如。。 代码:

如何调用paneladdvoid方法?

如果

 System.out.println("hi");

}


您将看到hi打印到您的控制台,您的代码正在工作,但布局有问题。

当您将组件添加到visible JFrame/JPanel/其他组件时,您需要在添加后调用重新验证和绘制方法。更改您的面板添加,如下一步:

public void panelAdd(){
    pAdd = new JPanel();
    pAdd.add(new JLabel("try"));
    add(pAdd);
    revalidate();
    repaint();
}

使产品成为静态的,或者使用产品实例为ButtonListener创建构造函数以将其保持为字段我不理解您的问题。类编译。所以你可以这样调用你的void方法!那么,你真正的问题是什么?博贝尔。。是的,这个类是编译的。。但是我的gui没有出现。。首先,我运行公共产品方法。。然后,当我单击add按钮时,我希望它运行panelAdd方法。。但事实并非如此。。
public void panelAdd(){
  System.out.println("hi");
   pAdd = new JPanel();
   pAdd.add(new JLabel("try"));
   add(pAdd);
public void panelAdd(){
    pAdd = new JPanel();
    pAdd.add(new JLabel("try"));
    add(pAdd);
    revalidate();
    repaint();
}