通过sql语句动态显示数据库内容到jtable

package  com.Swing;
/**
 * 
@author Alex
 * @msg 数据库通过sql语句生成jtable
 
*/

import  java.awt. * ;
import  java.sql. * ;
import  java.util. * ;
import  javax.swing. * ;
import  java.awt.event. * ;
import  javax.swing.table. * ;

import  com.Swing.FecthDate1;

public   class  ListFrame
    
extends  JFrame  {
  BorderLayout borderLayout1 
= new BorderLayout();
  DefaultTableModel dtm
=new DefaultTableModel();
  JPanel jPanel1 
= new JPanel();
  JPanel jPanel2 
= new JPanel();
  JScrollPane jScrollPane1 
= new JScrollPane();
  JTable jTable1 
= new JTable();
  JButton jButton1 
= new JButton();
  Vector v
=new Vector();
  Connection con;
  
int columnCount;

  ResultSet rs;
  
public ListFrame() {
    
try {
      jbInit();
    }

    
catch (Exception exception) {
      exception.printStackTrace();
    }

  }


  
private void jbInit() throws Exception {
    
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    getContentPane().setLayout(borderLayout1);
    jPanel1.setLayout(
null);
    jPanel2.setBounds(
10,10,790,250);
    jPanel2.setLayout(
null);
    jButton1.setBounds(
new Rectangle(30027014224));
    jScrollPane1.setBounds(
new Rectangle(1010755240));

    jButton1.setText(
"获取数据");
    jButton1.addActionListener(
new ListFrame_jButton1_actionAdapter(this));
    
this.getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
    jTable1.setModel(dtm);
    jPanel1.add(jPanel2);
    jPanel1.add(jButton1);
    jPanel2.add(jScrollPane1);
    jScrollPane1.getViewport().add(jTable1);

   
    FecthDate1 fecth 
= new FecthDate1();
    rs 
= fecth.Fecth("select * from tableui");
    
    columnCount 
= rs.getMetaData().getColumnCount();
    
for (int i = 1; i <= columnCount; i++{
      dtm.addColumn(rs.getMetaData().getColumnName(i));
    }

    rs.close();
   
    
this.setSize(800,350);
    
this.setVisible(true);
  }


  
public static void main(String[] args) {
    ListFrame listframe 
= new ListFrame();
  }


  
public void jButton1_actionPerformed(ActionEvent actionEvent) {
    
try {
      FecthDate1 fecth 
= new FecthDate1();
      rs 
= fecth.Fecth("select * from tableui");
      String[] s 
= new String[columnCount];
      
while (rs.next()) {
        
for (int i = 1; i < columnCount; i++{
          s[i 
- 1= rs.getString(i);
        }

        dtm.addRow(s);
      }

    }

    
catch (SQLException ex) {
      System.out.println(
"1-->"+ex);
      ex.printStackTrace();
    }

  }

}


class  ListFrame_jButton1_actionAdapter
    
implements  ActionListener  {
  
private ListFrame adaptee;
  ListFrame_jButton1_actionAdapter(ListFrame adaptee) 
{
    
this.adaptee = adaptee;
  }


  
public void actionPerformed(ActionEvent actionEvent) {
    adaptee.jButton1_actionPerformed(actionEvent);
  }

  
public static void main(String[] args){
      ListFrame lf
=new ListFrame();
      
//lf.setSize(300, 200);
      lf.setVisible(true);
      lf.pack();
  }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值