如何从ActionListener启动一个类?

时间:2013-09-17 16:58:06

标签: java swing user-interface

我有一个基本的GUI类,包含框架,表格和按钮。我想让它从另一个位于不同类

的基本GUI框架的ActionListener中启动

这是我的主要课程:

public class IA {    
public static void main(String[] args) { 

    MainFrame m1 = new MainFrame();
   m1.setVisible(true);             

} /*enter code here*/

   public static void vts1 () {   
    ViewTeamStatistics v1 =  new ViewTeamStatistics();       
    v1.setVisible(true); 
    }
}

它启动我的主菜单,从主菜单我想启动另一个名为ViewTeamStatistics的类 这是行动执行的。按下按钮

后,应该告诉程序打开框架
private void vtsActionPerformed(java.awt.event.ActionEvent evt) {                                    
  ViewTeamStatistics v1 =  new ViewTeamStatistics();       
  v1.setVisible(true);         
}        

编译器返回时没有错误,但是当我运行程序并按下按钮时没有任何反应。

1 个答案:

答案 0 :(得分:0)

我不完全理解你的问题,你想在按下按钮时启动一个新的框架吗?如果这是一个示例代码:

public class ExampleWindow implements ActionListener{
    private JFrame mainFrame;
    private JButton button;

    public ExampleWindow(){
        button = new JButton("Press me!");
        button.addActionListener(this);
        mainFrame = new JFrame("Frame name");
        mainFrame.add(button);
        mainFrame.setVisible(true);
        //Remember about this line
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        new SomeWindow();
    }
}


class SomeWindow{
     private JFrame frame;

     public SomeWindow(){
         frame = new JFrame;
         frame.setVisible(true);
     }
}

我没有尝试编译它,所以可能会有一些错误。