怎样用Java实现将在数据库中查询到的数据显示在表格中

JAVA 怎么把数据库里的数据显示在JTable表格里?~

这个要从头说起就复杂了。我简单说一下吧。
首先,要把数据从库中取出来,假设你已经会了。
其次,创建一个表格模型,
DefaultTableModel model=new DefaultTableModel();
//创建表头
model.setColumnIdentifiers(new Object[]{"日期/时间","操作工","产品型号","数量"});
再次,添加数据
while(results.next())
{
String dt=results.getString("dt");
String name=results.getString("name");
String pname=results.getString("product");
int i=results.getInt("num");
//把以上数据添加到表格模型的一行中

model.addRow(new Object[]{dt,name,pname,i});
}
最后,用模型生成表格
JTable table=new JTable(model);
当然,还有一些其它的操作,比如把表格显示出来,表格的字体、行高等设置等等,不再一一赘述。

前台用table后台直接用数组接收数据库传过来的值在用EL表达式显示出来就行了

JTable的有一个方法是getTableModel().返回提供此 JTable 所显示数据的 TableModel.
TableModel是一个接口,实际上返回的是DefaultTableModel类,它实现了TableModel接口。这个类中有一个方法是void addRow(Object[] rowData)。它就是将一行插入到JTable中。
不过JTable的setValueAt方法应该就可以实现。
楼主可以定义个一个线程类来完成。
比如你需要插入100行数据,可以在线程的run方法中写一个循环,在循环中写两行代码,一行是setValueAt,一行是刷新JTable,然后再让线程睡眠,这样一行一行的显示的效果就可以出来了!
或者楼主可以用进度条来打发等待的时间,就像打开netbeans的那个进度条一样,这个可以用JProgressBar类。楼主可以去查看一下源代码。如果楼主还是没有头绪,我干脆就写个例子得了!
关于组件的添加或者类似设置窗口的大小,布局管理器等我就不做解释了!
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.table.*;

public class Test extends JFrame implements ActionListener
{

private JButton button1;
private JButton button2;
private JButton button3;
private DefaultTableModel model;
private JTable table;
private JProgressBar bar;
private JScrollPane scrollpane;
private JPanel panel;

public Test()
{
button1=new JButton("演示1");
button2=new JButton("演示2");
button3=new JButton("清空");
panel=new JPanel();
bar=new JProgressBar(0,100);
String[] colnames={"数据一","数据二"};
model=new DefaultTableModel(colnames,100);
table=new JTable(model);
scrollpane=new JScrollPane(table);
panel.setLayout(new FlowLayout());
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(bar);
this.setLayout(new GridLayout(2,1));
this.setSize(500,600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(scrollpane);
this.add(panel);
}

public void actionPerformed(ActionEvent e)
{
String command=e.getActionCommand();
if(command.equals("演示1"))
{
ShowModel show=new ShowModel(true);
Thread thread=new Thread(show);
thread.start();
}
else if(command.equals("演示2"))
{
ShowModel show=new ShowModel(false);
Thread thread=new Thread(show);
thread.start();
}
else
{
String[] colnames={"数据一","数据二"};
model=new DefaultTableModel(colnames,100);
table.setModel(model);
}
}

private class ShowModel implements Runnable
{

private boolean type;//当type为true时,则说明是“演示1”的线程,false则相反

public ShowModel(boolean type)
{
this.type=type;
}

public void run()
{

if(type)//这个就是让线程睡眠,并且设置JTable的值
{
try{

for(int i=0;i<100;i++)
{
Test.this.table.setValueAt(String.valueOf(i),i,0);
Test.this.table.setValueAt(String.valueOf(i),i,1);
Thread.sleep(100);
}

}catch(Exception e)
{
e.printStackTrace();
}
}
else//这个就是进度条的演示
{
try{
Test.this.table.setVisible(false);
for(int i=0;i<100;i++)
{
Test.this.table.setValueAt(String.valueOf(i),i,0);
Test.this.table.setValueAt(String.valueOf(i),i,1);
Test.this.bar.setValue(i+1);
Test.this.bar.setString(String.valueOf(i+1)+"%");
Thread.sleep(40);
if(i==99)
{
Test.this.table.setVisible(true);
JOptionPane.showMessageDialog(Test.this,"OK");
Test.this.bar.setValue(0);
}

}

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

public static void main(String[] args)
{
Test test=new Test();
test.setVisible(true);
}

}

用java实现每隔10s向数据库添加一条记录,记录为时间和日期
答:Componentpublic class ScheduledExcuteTask{ @Scheduled(cron="0/10 * * * * ? ")//的意思是:每隔10秒钟执行一次 public void excuteTask(){ //这里就是你要执行向数据库添加一条记录的代码 }}4、在spring.xml文件中(有的也叫applicationContext.xml)中再加入:<context:annotatio...

java中使用JDBC完成数据库操作的基本步骤是什么?
答:创建一个以JDBC连接数据库的程序,包含7个步骤: \x0d\x0a 1、加载JDBC驱动程序: \x0d\x0a 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), \x0d\x0a 这通过java.lang.Class类的静态方法forName(String className)实现。 \x0d\x0a 例...

想用Java编写一个音乐播放器,将历史记录存放在MySql数据库中,请大神给...
答:基础实现方法:1)从网上搜索一个可以播放音乐的 java 类库,该类库带有音乐播放的API供外部程序调用。2)你直接使用该音乐类库进行音乐播放操作。3)你设计一个 Swing 界面在播放的时候,把播放的音乐信息存在数据库。完全开发方法:1)你自己从最原始做起包括音乐文件的播放解码等全部用 java 写出一个...

java怎样存数据到mysql数据库
答:用java连接数据库啊。下面给点例子可以参考,不大好,凑合看 import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class JdbcConnection{private String driver;private String dbname;private String ...

如何用Java实现把excel表中的数据导入到mysql数据库已有的表中_百度知...
答:package com.cn.gao;import java.util.List;public class FromExcelToDb { public static void main(String[] args) { //得到表格中所有的数据 List<Stu> listExcel=StuService.getAllByExcel("d://book.xls");/*//得到数据库表中所有的数据 List<Stu> listDb=StuService.getAllByDb();*/...

怎样用Java实现从文本文档中读取数据并存入数据库
答:import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;/** * 文件读取和写入数据库 * @author 樊云升 * */public class FilesReader {public FilesReader(){}/** * 读取文件内容 * @param FILE * @return */public ...

java 如何把文本里面的数据读取出来放入数据库里面
答:"name","sex","adress"vacher(20),char,vacher(20)"张山",1,湖南省 "张山",1,湖南省 "张山",1,湖南省 我理解文件是这样的.是么?那就把文件读进来,前两行特殊处理就行了 1.String[] columnNameLine = reader.readLine().replace("\"").split(",")那么每一列的标题就是 column...

怎样用java代码把数据导入到数据库中
答:);} catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace();} catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace();} 把info[0] + " " + info[1] + " " + info[2] 这三个值放在insert语句里就行了 经过测试 ...

java怎样将读取数据写入数据库
答:首先,在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份验证方式,开始如下配置:一、因为SQL Server 2012装好后,默认协议是没有开启的,所以要打开SQL Server配置管理器中开启。1、安装好SQL Server 2012后,运行 开始 → 所有程序 → Microsoft SQL Server 2012 ...

我想用java设计一个条形码扫描器,将扫描的数字在数据库中查找详细信息...
答:我以前写过超市扫码的,首先得有一个扫码枪,页面上让光标在文本框内,按一下扫码枪就会自动将货物的条形码显示在你的文本框中了,扫码枪将条形码显示在文本框中默认带一个回车,你就用javascript触发回车事件,写一个方法,从后台数据库中根据条形码查到具体的详细信息显示到页面上就行了,用ajax提交...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网