Java Swing问题,为什么窗口显示不出来,求帮解决。

package gui2;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
public class TestSwing extends JFrame implements ActionListener{
public static void main(String agrs[]){

}
public TestSwing(){
JFrame jf=new JFrame("My JFrame");
JMenuBar jmb=new JMenuBar();
JMenu file =new JMenu("file");
JMenu help =new JMenu("help");
JMenuItem jm_new =new JMenuItem("new");
JMenuItem open= new JMenuItem("OPen");
JMenuItem seve =new JMenuItem("seve");
jm_new.addActionListener(this);
open.addActionListener(this);
seve.addActionListener(this);
jm_new.setMnemonic('n');
open.setMnemonic('o');
seve.setMnemonic('s');
file.setMnemonic('f');
help.setMnemonic('h');
file.add(jm_new);
file.add(open);
file.add(seve);
jmb.add(file);
jmb.add(help);
JToolBar jt =new JToolBar();
JButton jbnew=new JButton(new ImageIcon("1.jpg"));
JButton jbopen =new JButton(new ImageIcon("2.jpg"));
JButton jbseve=new JButton(new ImageIcon("3.jpg"));
jbnew.setActionCommand("new");
jbopen.setActionCommand("open");
jbseve.setActionCommand("seve");
jbnew.setToolTipText("新建文件");
jbopen.setToolTipText("打开文件");
jbseve.setToolTipText("保存文件");
jbnew.addActionListener(this);
jbopen.addActionListener(this);
jbseve.addActionListener(this);
jt.add(jbnew);
jt.add(jbopen);
jt.add(jbseve);
JPanel jp= new JPanel();
JButton jbstart=new JButton("Start");
JButton jbstop =new JButton("stop");
jbstart.setToolTipText("开始操作");
jbstop.setToolTipText("停止操作");
jbstart.setMnemonic('s');
jbstop.setMnemonic('t');
jp.add(jbstart);
jp.add(jbstop);

jf.setJMenuBar(jmb);
jf.add(jt,"North");
jf.add(jp,"South");
jf.setSize(300,200);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
System.out.println(e.getActionCommand());
}

}

第1个回答  2011-07-03
main方法里加上
new TestSwing();追问

为什么呢?

追答

你那些方法加载窗体的工作都写在了构造方法里,
怎么样执行构造方法?就是new啊

本回答被提问者采纳
第2个回答  2011-07-03
main方法里加上
new TestSwing();追问

为什么呢

追答

因为必须实例化,之后才在进程里面出现啊!