问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在netbeans里如何使用表格

发布网友 发布时间:2022-03-27 19:16

我来回答

1个回答

热心网友 时间:2022-03-27 20:45

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);
}

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么我冲CF点的时候说个人账户支付失败:超过帐户单笔限额[100] 线雕疼吗 法国电影大师罗伯特·布列松电影合集 小明在学习吉他演奏的过程中发现琴弦音调的高低是受各种因素影响的,他... ...年12月1日正式开通运行,世界上第一条投入运营的 ...会员上面为什么会有:个人账户支付失败:超过帐户单笔限额[100... 卡蒂埃·布列松代表作品 京广铁路客运专线世界之最 这几个月,脸老是肿胀,消了又肿胀,这样循环,而且痒,是不是过敏?_百度知 ... 京广铁路客运专线京广高铁 Java的开发环境NetBeans该怎么用啊? NetBeans是干什么的?我能用它做什么? linux下netbeans安装好了怎么用 netbeans中的快捷键有哪些?netbeans中常用快捷键大全 如何使用NetBeans IDE创建简单的Web应用程序 怎样用netbeans运行java程序 关于netbeans的使用! eclipse文件怎么用netbeans打开呢? 怎么使用NetBeans IDE创建简单的控制台应用程序 netbeans怎么用? netbeans ide 8.0怎么使用 如何使用netbeans写java程序 netbeans连接数据库后怎么使用 iphone6开机充电没反应关机可以充,是什么问题啊?求解啊 iphone6无法开机充电没反应 为什么苹果手机充电没反应 苹果六plus充不进去电是怎么回事,也没反应 我申请了大王卡,在助手里面点了确认收货,网上说只要归属地和收的地方一样就行,可我填的不一样,有事吗 联通大王卡归属地是外省,会不会影响网络网速 办的大王卡,号码归属地是哪里,是自己所在地的吗? netbeans怎么用 netbeans怎么调用mysql数据库中的数据 netbeans 怎么使用新建php 如何利用Netbeans连接SVN之技术分享 NetBeans中代码定制器怎么用? 手机信息发不出去怎么解决 手机发不出去短信是怎么回事呀? 我的手机卡发不了短信是什么问题 手机卡发不出去短信怎么回事 手机发不出去短信 电信卡短信发不出去怎么回事? 手机卡发不出去短信怎么回事,收短信收到了,就是发不出去 手机短信怎么发不出去也收不到短信 手机电话卡被封锁了,就是发不出信息也收不到信息了怎么办 求帮忙速回 手机在异地发不出短信怎么办?短信中心设置了 联通卡发信息发不出也收不到信息怎么办 联通电话卡发不了短信 中心号码也对 就是发不出去了 肿么办啊 360相机马赛克在哪 相机360怎么去掉照片上的马赛克 为什么360相机照的照片看起来像有马赛克一样啊?