运行表单小程序时无法处理swing按钮事件

时间:2010-12-03 12:18:32

标签: java swing applet

这是我的applet

public class TestApplet extends Applet{
 public void init(){

 }

 public void start(){
  Swsmall b = new Swsmall();


 }
}

这是我的Swsmall文件

public Swsmall() {
  JFrame frame = new JFrame ("Stand alone");
  JButton jl = new JButton("Exits properly");

  frame.getContentPane().add(jl);
  frame.setSize(180,80);
  frame.setVisible(true);



        jl.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
             System.exit(0);}});
            }

这是我的jsp文件

<body>
    <applet code="TestApplet.class" width="400" height="400"></applet>
  </body>

我能够成功运行applet,但我无法对按钮点击事件做出任何响应

当我在java控制台上运行相同的应用程序时,它可以完美地运行

2 个答案:

答案 0 :(得分:1)

从Java applet调用System.exit(0)不会破坏applet。尝试从动作侦听器调用其他东西(即System.out.println(“something”);将在Java applet控制台中打印),你会看到它被正确调用,但在这种情况下它可能不会像你一样工作期待它发挥作用。

答案 1 :(得分:0)

frame.dispose();

创建JFrame的代码应该放在init()方法中。您还应该使用invokeAndWait()方法。

阅读How to Make Applets上Swing tuorial的部分,了解更多信息和工作示例。