更新时间2019-08-29 05:19:59
package test;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
public class abc extends JFrame implements ActionListener
{
JPanel mb1,mb2;
JLabel bq1;
JTextField wbk1;
JButton an1,an2,an3,an4,an5;
JTable bg1;
JScrollPane gd1;
Vector ziduan,jilu;
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
public static void main(String[] args)
{
abc xs=new abc();
}
public abc()
{
mb1=new JPanel();
bq1=new JLabel("请输入姓名:");
wbk1=new JTextField(10);
an1=new JButton("查询");
an1.addActionListener(this);//监听
an1.setActionCommand("chaxun");//给JButton设置一个属性 判断
mb1.add(bg1);mb1.add(wbk1);mb1.add(an1);
mb2=new JPanel();
an2=new JButton("添加");
an2.addActionListener(this);//监听
an2.setActionCommand("tianjia");//给JButton设置一个属性 判断
an3=new JButton("修改");
an3.addActionListener(this);//监听
an3.setActionCommand("xiugai");//给JButton设置一个属性 判断
an4=new JButton("删除");
an4.addActionListener(this);//监听
an4.setActionCommand("shanchu");//给JButton设置一个属性 判断
mb2.add(an2);mb2.add(an3);mb2.add(an4);
ziduan=new Vector();
ziduan.add("学号");
ziduan.add("姓名");
ziduan.add("性别");
ziduan.add("年龄");
ziduan.add("籍贯");
ziduan.add("所在院系");
jilu=new Vector();
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ct=DriverManager.getConnection("jdbc:odbc:sql","sa","123456");
ps=ct.prepareStatement("select * from Xuesheng");
rs=ps.executeQuery();
while(rs.next())
{
Vector hang=new Vector();
hang.add(rs.getString(1));
hang.add(rs.getString(2));
hang.add(rs.getString(2));
hang.add(rs.getInt(4));
hang.add(rs.getString(5));
hang.add(rs.getString(6));
jilu.add(hang);
}
}
catch(Exception e){}
finally
{
try{
if(rs!=null)
{
rs.close();
}
if(ps!=null)
{
ps.close();
}
if(ct!=null)
{
ct.close();
}
}
catch(Exception e){}
}
bg1=new JTable(jilu,ziduan);//JTable后面的括号里(记录,字段)
gd1=new JScrollPane(bg1);
this.add(gd1);
this.add(mb1,"North");
this.add(mb2,"South");
this.setTitle("学生管理系统");
this.setSize(500,400);
this.setLocation(201,181);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("chaxun"));
{
System.out.println("aaa");
}
if(e.getActionCommand().equals("tianjia"));
{
System.out.println("bbb");
}
if(e.getActionCommand().equals("xiugai"));
{
System.out.println("ccc");
}
if(e.getActionCommand().equals("shanchu"));
{
System.out.println("ddd");
}
}
}
你的不是没有结果,而是程序出错了,问题出在
mb1.add(bg1);
你的mb1和bg1都是空指针,对象没有初始化,要在前面加
mb1=new JPanel();
bg1=new JTable();
1.字符串变量未初始化;
2.接口类型的对象没有用具体的类初始化;
3.当对象的值为空时,而你没有判断为空的情况,也会报空指针异常;
再看看报错的具体行数,再分析。