
JTable的有一个方法是getTableModel()返回提供此 JTable 所显示数据的 TableModel
TableModel是一个接口,实际上返回的是DefaultTableModel类,它实现了TableModel接口。这个类中有一个方法是void addRow(Object[] rowData)。它就是将一行插入到JTable中。
不过JTable的setValueAt方法应该就可以实现。
楼主可以定义个一个线程类来完成。
比如你需要插入100行数据,可以在线程的run方法中写一个循环,在循环中写两行代码,一行是setValueAt,一行是刷新JTable,然后再让线程睡眠,这样一行一行的显示的效果就可以出来了!
或者楼主可以用进度条来打发等待的时间,就像打开netbeans的那个进度条一样,这个可以用JProgressBar类。楼主可以去查看一下源代码。如果楼主还是没有头绪,我干脆就写个例子得了!
关于组件的添加或者类似设置窗口的大小,布局管理器等我就不做解释了!
import javaxswing;
import javaawtevent;
import javaawt;
import javaxswingtable;
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);
panelsetLayout(new FlowLayout());
button1addActionListener(this);
button2addActionListener(this);
button3addActionListener(this);
paneladd(button1);
paneladd(button2);
paneladd(button3);
paneladd(bar);
thissetLayout(new GridLayout(2,1));
thissetSize(500,600);
thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
thisadd(scrollpane);
thisadd(panel);
}
public void actionPerformed(ActionEvent e)
{
String command=egetActionCommand();
if(commandequals("演示1"))
{
ShowModel show=new ShowModel(true);
Thread thread=new Thread(show);
threadstart();
}
else if(commandequals("演示2"))
{
ShowModel show=new ShowModel(false);
Thread thread=new Thread(show);
threadstart();
}
else
{
String[] colnames={"数据一","数据二"};
model=new DefaultTableModel(colnames,100);
tablesetModel(model);
}
}
private class ShowModel implements Runnable
{
private boolean type;//当type为true时,则说明是“演示1”的线程,false则相反
public ShowModel(boolean type)
{
thistype=type;
}
public void run()
{
if(type)//这个就是让线程睡眠,并且设置JTable的值
{
try{
for(int i=0;i<100;i++)
{
TestthistablesetValueAt(StringvalueOf(i),i,0);
TestthistablesetValueAt(StringvalueOf(i),i,1);
Threadsleep(100);
}
}catch(Exception e)
{
eprintStackTrace();
}
}
else//这个就是进度条的演示
{
try{
TestthistablesetVisible(false);
for(int i=0;i<100;i++)
{
TestthistablesetValueAt(StringvalueOf(i),i,0);
TestthistablesetValueAt(StringvalueOf(i),i,1);
TestthisbarsetValue(i+1);
TestthisbarsetString(StringvalueOf(i+1)+"%");
Threadsleep(40);
if(i==99)
{
TestthistablesetVisible(true);
JOptionPaneshowMessageDialog(Testthis,"OK");
TestthisbarsetValue(0);
}
}
}catch(Exception e)
{
eprintStackTrace();
}
}
}
}
public static void main(String[] args)
{
Test test=new Test();
testsetVisible(true);
}
}
1 用select count()得到总记录条数t;
2 用分页查找,用随机数Random得到一个0<x<t的x数,然后分页的分页数和分页量都用x
3该分页查找得到的就是一个随机的记录。
4循环1-3步骤,直到得到希望数量的随机记录。
首先建立DB连接Connection conn;
之后定义一个sql语句的字符串(里面是你要的sql的语句)
定义一个结果集ResultSet rs ;
执行sql语句
将结果集中对应属性到你定义好的数组就好了
你想找出新增的数据,那你必须要有一个标识,用来标识是否为新增的
例如表中flag字段,默认为0,处理过之后就为1
这样,你才能判断哪条数据是新的,哪条数据是老的了
或者用时间判断
不知道你会不会看懂啊 这是查询一个名字,把他相关的一些信息列出来
String strSQL;
strSQL="select from tb_manager where manager='"+jTextField1getText()trim()+"'";
rs=dbgetResult(strSQL);
try
{
if(rsfirst())
{
jTextField1setText(rsgetString("manager"));
jTextField2setText(rsgetString("den"));
jTextField3setText(rsgetString("ID"));
jTextField4setText(rsgetString("remark"));
jTextField5setText(rsgetString("sex"));
}
else
{
JOptionPaneshowMessageDialog(null,"无此信息");
}
}catch(SQLException e)
{JOptionPaneshowMessageDialog(null," 查询信息失败!");}
}
两种方式
第一步先执行这个if(rsnext()) 然后是下面的
第一种
rsget(0) 第一个字段
rsget(1)第二个字段
第二种
rsget('name') 此处的字段名称以实际为准
rsget('sex') 此处的字段名称以实际为准
以上就是关于怎样用Java实现将在数据库中查询到的数据显示在表格中全部的内容,包括:怎样用Java实现将在数据库中查询到的数据显示在表格中、java程序中怎样从数据库的一张表中随机提取几条数据、java中如何把数据库某个表的数据查出来,装在数组当中有具体例子最好等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)