我的代码是这样的:
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要不要自己在写一个类比较好?
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要不要自己在写一个类比较好?
解决方案 »
- 如何重写hashcode()方法
- 对接受用户输入不理解 请高手指点下
- Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?
- 一个计算器的小程序
- 关于java void 的问题
- 加密后字符串在文件中如何读取????急急
- 大家讲一讲使用source insight的感受吧
- 怎样不执行就解析出一句sql语法是正确的??
- 请问用java写的程序,如一个java写的frame如何用jni技术编译成dll.而在windows下运行.
- Scanner类抛出java.util.NoSuchElementException: No line found的异常
- 哪位大虾帮我找找错误,我想覆盖Object类的equals()方法
- 请问A b = new A();的问题?
{
public void actionPerformed(ActionEvent e)
{
在这里面调用取得文本域的字符串
}
});