在面板上用table显示数据库的中的信息
代码如下:
try{
Database db = new Database();
dbconn();
Statement stmt = dbconncreateStatement();
ResultSet rset = stmtexecuteQuery("SELECT FROM goods");//前面的为数据库部分(每个人视情况而定)
DefaultTableModel dtm = (DefaultTableModel) jTable1getModel();
dtmsetRowCount(0);
while (rsetnext()) {
Object[] row = {
rsetgetString(1),
rsetgetDouble(2),
rsetgetDouble(3),//这三个为表各个字段的值,从数据库中得到的
};
dtmaddRow(row);
}
rsetclose();
stmtclose();
dbcloseConn();
} catch (ClassNotFoundException ex) {
LoggergetLogger(AdminclassgetName())log(LevelSEVERE, null, ex);
} catch (SQLException ex) {
LoggergetLogger(AdminclassgetName())log(LevelSEVERE, null, ex);
}
final JTable table=new JTable(tableModel);
while(setnext()){
String s1=setgetString(1);
String s2=setgetString(2);
String s3=setgetString(3);
String s4=setgetString(4);
String s5=setgetString(5);
String s6=setgetString(6);
String s7=setgetString(7);
String[] ss=new String[]{s1,s2,s3,s4,s5,s6,s7};
tableModeladdRow(ss);
}
set是从数据表查询的集合,tablemode是表格模型,相信你懂。。。
//package item;
import javaawtDimension;
import javaawtHeadlessException;
import javaawtPoint;
import javaxswingJButton;
import javaxswingJFrame;
import javaxswingJOptionPane;
import javaxswingJPanel;
import javaxswingJScrollPane;
import javaxswingSwingUtilities;
import javaxswingJTable;
import javaxswingtableDefaultTableModel;
import javaxxmlcryptoData;
//import dbConn;
import javaawtRectangle;
import javasqlResultSet;
import javasqlSQLException;
import javautilVector;
public class Manager extends JFrame {
String xnamearr[]={"课程编号","课程名称","开课时间"};
DefaultTableModel model;
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JButton jButton = null;
private JButton jButton1 = null;
private JButton jButton2 = null;
private JTable jTable = null;
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButtonsetLocation(new Point(20, 0));
jButtonsetText("修改信息");
jButtonsetSize(new Dimension(100, 30));
}
return jButton;
}
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1setLocation(new Point(140, 0));
jButton1setText("删除信息");
jButton1setSize(new Dimension(100, 30));
}
return jButton1;
}
private JButton getJButton2() {
if (jButton2 == null) {
jButton2 = new JButton();
jButton2setLocation(new Point(260, 0));
jButton2setText("显示全部");
jButton2setSize(new Dimension(100, 30));
}
return jButton2;
}
// private void Debark() {
// Conn conn=null;
// ResultSet rs=null;
// String sql=null;
// conn=new Conn();
// sql= "select from message where =";
// rs=connexecuteQuery(sql);
//
// try {
// if (rsnext())
// {
//
// }
// else
// JOptionPaneshowMessageDialog(null,"无对应信息");
// } catch (HeadlessException e) {
// eprintStackTrace();
// } catch (SQLException e) {
// eprintStackTrace();
// }
// }
private JTable getJTable() {
if (jTable == null) {
model=new DefaultTableModel();
jTable = new JTable(model);
modelsetDataVector(getVector(), getVe());//model 传入的是数据库的二维数组 和列的数组!
// jTablesetBounds(new Rectangle(17, 97, 341, 82));
}
return jTable;
}
private JScrollPane getscol(){
JScrollPane sco=new JScrollPane(getJTable());
scosetBounds(new Rectangle(17, 97, 341, 82));
return sco;
}
public Vector getVe(){
Vector ve=new Vector();
for (int i = 0; i < xnamearrlength; i++) {
veadd(xnamearr[i]);
}
return ve;
}
private Vector getVector(){
Vector getVector=new Vector();
getVectoradd(getVe());
return getVector;
}
public static void main(String[] args) {
// TODO 自动生成方法存根
SwingUtilitiesinvokeLater(new Runnable() {
public void run() {
Manager thisClass = new Manager();
thisClasssetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
thisClasssetVisible(true);
}
});
}
public Manager() {
super();
initialize();
}
private void initialize() {
thissetSize(400, 300);
thissetContentPane(getJContentPane());
thissetTitle("管理员系统");
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPanesetLayout(null);
jContentPaneadd(getJButton(), null);
jContentPaneadd(getJButton1(), null);
jContentPaneadd(getJButton2(), null);
jContentPaneadd(getscol(), null);
}
return jContentPane;
}
}
//只需要调用modelsetDataVector(传入数据库的二维数组,以及对应的列名称一维数组就可以了);
//如果实现按钮功能只需要做一个model的 get方法然后通过监听实现数据的变更
//只要你能正确获取数据就很简单了
//记得把我注释的部分取消
以上就是关于Java表格显示数据库全部的内容,包括:Java表格显示数据库、Java 怎么把数据库表插入到JTable中。、如何将数据库的内容用JAVA的JTable显示出来。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)