帮忙看看错漏/(ㄒoㄒ)/~~JTtable结合滚动面板显示数据

YKW_ 2015-07-06 12:30:09
期末的课程设计任务,实现一个酒店管理系统 现在想用Ttable结合滚动面板显示数据库存放的房间信息数据,数据库数据的导出操作正常,就是无法显示 我是用vector来存放列名和接收各行数据 昨晚弄到现在死活显示不了 不知道问题在哪 大家指点一下 不胜感激啊 /(ㄒoㄒ)/~~/(ㄒoㄒ)/~~
import javax.swing.*;
import javax.swing.border.LineBorder;
import javax.swing.table.DefaultTableModel;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import index.ConnectionDB;
import sole.Soles;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;

public class RoomSearch extends JPanel implements ActionListener{
private String [] title = {"空闲","已预订"};
private JButton jbs = new JButton("查询");
private JButton jbgou = new JButton("预定");
private JButton jbsole = new JButton("生成订单");
private String user_id;
private ConnectionDB con = new ConnectionDB();
private ResultSet rs;
private JTextArea j1 = new JTextArea();
private JTextField jtfid = new JTextField(8);
private JTextField jtfnum = new JTextField(8);

private JTextArea jta6 = new JTextArea();
JPanel p4 = new JPanel();
int type_id = 0;
private Vector vt = new Vector(); //?????
public RoomSearch(String user_id){
this.user_id = user_id;
System.out.println("查看房间");
draw();
}
public void draw(){
this.setLayout(new BorderLayout());
JPanel pn = new JPanel();
JPanel pc = new JPanel();
JPanel ps = new JPanel();
this.add(ps,BorderLayout.SOUTH);
this.add(pc,BorderLayout.CENTER);
this.add(pn,BorderLayout.NORTH);
pn.setLayout(new FlowLayout(FlowLayout.CENTER));
// pc.add(jcbtype,BorderLayout.SOUTH);
pn.add(jbs);
JPanel p3 = new JPanel();
// JPanel p4 = new JPanel();
pc.setLayout(new BorderLayout());
pc.add(p3,BorderLayout.NORTH);
pc.add(p4,BorderLayout.CENTER);
p3.setLayout(new GridLayout(1,5));
JButton jb1 = new JButton("房间编号");
jb1.setBackground(new Color(255,255,255));
jb1.setBorder(new LineBorder(new Color(0,0,0),1));
p3.add(jb1);
JButton jb2 = new JButton("房间价格");
jb2.setBackground(new Color(255,255,255));
jb2.setBorder(new LineBorder(new Color(0,0,0),1));
p3.add(jb2);
JButton jb3 = new JButton("房间楼层");
jb3.setBackground(new Color(255,255,255));
jb3.setBorder(new LineBorder(new Color(0,0,0),1));
p3.add(jb3);
JButton jb4 = new JButton("类型");
jb4.setBackground(new Color(255,255,255));
jb4.setBorder(new LineBorder(new Color(0,0,0),1));
p3.add(jb4);
JButton jb5 = new JButton("状态");
jb5.setBackground(new Color(255,255,255));
jb5.setBorder(new LineBorder(new Color(0,0,0),1));
p3.add(jb5);
ps.setLayout(new FlowLayout(FlowLayout.CENTER));
ps.add(new JLabel("预定天数"));
ps.add(jtfnum);
ps.add(jbgou);
ps.add(jbsole);
this.setVisible(true);
jbs.addActionListener(this);
jbgou.addActionListener(this);
jbsole.addActionListener(this);


}
public void actionPerformed(ActionEvent e){
if(e.getSource() == jbs){
String []title_name={"房间编号","房间价格","房间楼层","类型","状态"};
Vector v_sum=new Vector();
Vector v_title=new Vector();
// con.inquery("select* from room where rstate = '"+String.valueOf(type_id)+"'");
con.inquery("select* from room ");//显示所有的房间
rs = con.getRs();
v_title.clear();
for(int i=0;i<5;i++){
v_title.add(title_name[i]);
}

try{
v_sum.clear();
while(rs.next()){
Vector v_data=new Vector();
String s1 = rs.getString("rid".trim());
String s2 = rs.getString("rprice".trim());
String s3 = rs.getString("raddress".trim());
String s4 = rs.getString("rtype".trim());
String s5 = rs.getString("rstate".trim());
v_data.add(s1);
v_data.add(s2);
v_data.add(s3);
v_data.add(s4);
v_data.add(s5);
v_sum.add(v_data);

}
DefaultTableModel dt = new DefaultTableModel();
dt.setDataVector(v_sum, v_title);
JTable table= new JTable(dt);
JScrollPane scrollPane=new JScrollPane(table);
System.out.println(v_sum);
table.setModel(dt);
table.updateUI();
con.close();
}
catch(SQLException e1){
e1.printStackTrace();
}
}
}

}
...全文
167 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
YKW_ 2015-07-06
  • 打赏
  • 举报
回复
DefaultTableModel dt = new DefaultTableModel(); dt.setDataVector(v_sum, v_title); JTable table= new JTable(dt); JScrollPane scrollPane=new JScrollPane(table); p4.add(scrollPane); System.out.println(v_sum); 哦哦 一时遗漏 但是我修改完的代码还是显示不出来数据啊 麻烦看看
qidongting 2015-07-06
  • 打赏
  • 举报
回复
JTable table= new JTable(dt); JScrollPane scrollPane=new JScrollPane(table); System.out.println(v_sum); table.setModel(dt); table.updateUI(); 你貌似没有将scrollPane放入任何一个面板上啊,那表格当然显示不出来啊!
YKW_ 2015-07-06
  • 打赏
  • 举报
回复
来人啊来人啊

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧