请问哪位高手能帮忙看看以下Java的问题??

当点击图片中左侧的省份的名称时,右边只显示所点省份的学生的信息。做的好的话可以另外再加分咯!!可以在下面的代码的基础上修改吗?importjava.awt.*;impor... 当点击图片中左侧的省份的名称时,右边只显示所点省份的学生的信息。做的好的话可以另外再加分咯!!
可以在下面的代码的基础上修改吗?
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.event.*;

public class Lab1 extends JFrame implements ActionListener,ListSelectionListener
{
JButton display = new JButton("显示全部学生通讯列表");
JTable jtable = new JTable();
JScrollPane jscrollpane = new JScrollPane(jtable);//将表格加个滚动条

String[] p={"广东","广西","福建"};
JList list_province = new JList(p);

Lab1(String s){
super(s);
this.setLayout(new BorderLayout());
this.add(jscrollpane,BorderLayout.CENTER);
this.add(list_province,BorderLayout.WEST);
this.list_province.addListSelectionListener(this);//注册选择事件监听器
this.add(display,BorderLayout.SOUTH);
display.addActionListener(this);
this.setSize(250,200); //设置JFrame窗口大小
this.setVisible(true);//设置窗口显示true
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==display){
String[] col = { "学号", "姓名", "性别", "电话", "地址" };
DefaultTableModel mm= new DefaultTableModel(col,0); //定义一个表的模板
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载access数据库驱动
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
try{
Connection conn = DriverManager.getConnection("jdbc:odbc:student"); //建立连接这里student为数据库名
Statement stmt = conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from studentInfo");//将查询得到的结果集给rs
while(rs.next()){
String id = rs.getString("ID");
String name = rs.getString("Name");
String sex = rs.getString("Sex");
String tel = rs.getString("Tel");
String home = rs.getString("Home");
String[] str_row={id,name,sex, tel,home}; //将一行的数据存在str_row 字符串数组里
mm.addRow(str_row);//添加在表模板中
}
jtable.setModel(mm);//将jtable这个表 设置为刚刚定义的模板
this.add(jscrollpane); //将加载了表的滚动条在JFrame中显示
}catch(SQLException e1){
e1.getStackTrace();
}
}

}

public void valueChanged(ListSelectionEvent e){

}

public static void main(){
new Lab1("计算科学系学生通讯录");
}

}
展开
 我来答
随我心所欲
2009-06-01 · TA获得超过492个赞
知道小有建树答主
回答量:497
采纳率:0%
帮助的人:641万
展开全部
你的list_province 加了监听器,所以实现方法应该写在public void valueChanged(ListSelectionEvent e){}里面;

基本上代码都和public void actionPerformed(ActionEvent e)
的一样,只是这句需要修改
ResultSet rs=stmt.executeQuery("select * from studentInfo");//把里面的SQL语句加上一个限制条件,比如
select * from studentInfo where 地址 = '广东'
就OK了
Ericle03
2009-06-01 · TA获得超过186个赞
知道答主
回答量:58
采纳率:0%
帮助的人:53.2万
展开全部
在你的list 里面加入事件监听 然后根据事件拼成sql语句,就ok 了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Alvin871111
2009-06-02
知道答主
回答量:54
采纳率:0%
帮助的人:17.6万
展开全部
不难啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式