01/10/2018, 12:35
Cập nhật dữ liệu JTable
public class bai7_1 {
JFrame f;
String itemradio;
JRadioButton r1,r2;
JTextField t1;
Vector vdata=new Vector(),vtitle=new Vector();
JScrollPane tableResult;
DefaultTableModel model;
JTable tb;
public static void main(String[] args)
{
bai7_1 b=new bai7_1();
b.go();
}
public void go()
{
f=new JFrame();
JPanel p1=new JPanel();
p1.add(new JLabel("Nhap noi dung"));
t1=new JTextField(15);
p1.add(t1);
JButton tim=new JButton("Tim");tim.addActionListener(new buttonListener() );
JButton reset=new JButton("Reset");reset.addActionListener(new buttonListener());
JButton exit=new JButton("Exit");exit.addActionListener(new buttonListener());
p1.add(tim);p1.add(reset);p1.add(exit);
JPanel p2=new JPanel();
p2.add(new JLabel("Tim kiem theo"));
r1=new JRadioButton("MaSo");r1.addItemListener(new radiobutListener());
r2=new JRadioButton("HoTen");r2.addItemListener(new radiobutListener());
ButtonGroup r12=new ButtonGroup();
r12.add(r1);r12.add(r2);
p2.add(r1);p2.add(r2);
f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.CENTER);
model =new DefaultTableModel(vdata,vtitle);
tb=new JTable(model);
tableResult=new JScrollPane(tb);
f.add(tableResult,BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
}
public void tim()
{
vdata.clear();
vtitle.clear();
String s=t1.getText();
String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
"databaseName=baitapjava;integratedSecurity=true;";
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con=DriverManager.getConnection(connectionUrl);
Statement sm=con.createStatement();
String sql="Select * from bai7_1 where "+itemradio+"='"+s+"'";
ResultSet rs=sm.executeQuery(sql);
ResultSetMetaData rsm=rs.getMetaData();
int cot=rsm.getColumnCount();
for(int i=1;i<=cot;i++) {vtitle.add(rsm.getColumnLabel(i));
System.out.print(rsm.getColumnLabel(i)+" ");
}
System.out.println("");
while(rs.next())
{
Vector row=new Vector(cot);
for(int i=1;i<=cot;i++) {row.add(rs.getString(i).trim());
System.out.print(rs.getString(i).trim()+" ");
}
vdata.add(row);
}
model.fireTableDataChanged();
}
catch (Exception e) {
t1.setText("loi");;
}
}
class buttonListener implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e) {
// if(e.getActionCommand()=="Tim")tim();
//if(e.getActionCommand()=="Reset");//reset();
//if(e.getActionCommand()=="Exit")f.dispose();
tim();
}}
class radiobutListener implements ItemListener
{
@Override
public void itemStateChanged(ItemEvent e) {
if(r1.isSelected())itemradio="MaSo";
if(r2.isSelected())itemradio="HoTen";
}
}
}
http://2.pik.vn/2017992e1e4c-79a3-41d7-8975-d2fb3b3ee1ab.png
Em không hiểu sao bảng không cập nhật dữ liệu
Bài liên quan