我的代码是这样的:
import javax.swing.*;
import java.util.*;
import java.awt.event.*;
import java.awt.*;public class DataTable extends JFrame implements ActionListener{
JMenuItem connect=new JMenuItem("连接");
JMenuItem query=new JMenuItem("查询");
JMenuItem insert=new JMenuItem("插入");
JMenuItem delete=new JMenuItem("删除");
JMenuItem exit=new JMenuItem("退出");
JMenuItem help=new JMenuItem("帮助");
JMenuBar gui=new JMenuBar();
JMenu m=new JMenu("操作");
JButton ok;
JDialog dlg=new JDialog();
JPanel pa=new JPanel();
JTextField useid = new JTextField("", 10);
JPasswordField passwd = new JPasswordField("",10);
public DataTable(){
super("记事本 version1.0 @yzh");
setSize(500,400);
setLocation(150,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Object[][] cellData = {
{},
{}};
String[] columnNames = {"姓名", "性别","年龄","单位地址","邮箱","邮编","手机"};
// Create a table with initial data
Vector rowData = new Vector();
for (int i=0; i<cellData.length; i++) {
Vector colData = new Vector(Arrays.asList(cellData[i]));
rowData.add(colData);
}
Vector columnNamesV = new Vector(Arrays.asList(columnNames));

JTable table = new JTable(rowData, columnNamesV);


m.add(connect);
m.add(query);
m.add(insert);
m.add(delete);
m.addSeparator();
m.add(exit);
connect.addActionListener(this);
query.addActionListener(this);
insert.addActionListener(this);
delete.addActionListener(this);
exit.addActionListener(this);
JMenu m2=new JMenu("帮助");
m2.add(help);
help.addActionListener(this);
gui.add(m);
gui.add(m2);
setJMenuBar(gui);
//JScrollPane pane=new JScrollPane(); 
JScrollPane scrollPane = new JScrollPane(table);
this.getContentPane().add(scrollPane);

//JPanel pane=new JPanel();
//pane.add(table);
//setContentPane(pane);
}
public static void main(String[] args){
JFrame frame=new DataTable(); frame.show();
}
public void actionPerformed(ActionEvent evt){
Object src=evt.getSource();
if(src==help)
{
JOptionPane opt=new JOptionPane();
JOptionPane.showMessageDialog(opt,"记事本  1.0 \n Copyright @ yzh  2004-06-28","帮助",JOptionPane.INFORMATION_MESSAGE);
}
if(src==connect)
{
if(connect.getLabel().equals("连接"))
{
//JFrame fr=new JFrame();
connect.setLabel("断开");

dlg.setSize(200,100);
//JOptionPane opt=new JOptionPane();
JLabel use=new JLabel ("用户名: ");
JLabel pass=new JLabel(" 密码:  ");

ok=new JButton("确定");
passwd.setEchoChar('#');

pa.add(use);
pa.add(useid);
pa.add(pass);
pa.add(passwd);
pa.add(ok);

dlg.setModal(true);
dlg.setContentPane(pa);
dlg.setLocation(250,200);
use.setFocusable(false);
pass.setFocusable(false);
useid.setFocusable(true);
passwd.setFocusable(true);
dlg.show();

String usename=useid.getText();
String password=passwd.getText();

}
else
connect.setLabel("连接");
}
if(src==exit)
System.exit(0);
if(src==ok)
{
   useid.getText();
          passwd.getText();

}

}
}
我在跟踪时发现,我点击按钮后,并没有执行useid.getText(); passwd.getText();,程序就不往下执行了,大家看看是不是代码有问题。那个dialog要不要自己在写一个类比较好?