java中jtable对应的JTable对应的疑问

JAVA中JTable表刷新的小问题如何解决?
在JTextField 里输入一个数,点&添加行&后,JTable表里就会生成出相对应的行!现在有个问题.就是不能刷新,如果在点&添加行&,表里就会又生成对应的行来,我想要的效果是:比如输入要2行,点按钮生成2行,在输入5行,就生成5行,把原来的2行删除! import java.awt.D import java.awt.R import java.awt.event.ActionE import java.awt.event.ActionL import javax.swing.table.DefaultTableM import javax.swing.*; public class Creg extends JFrame { private JTextField text = new JTextField(); private JButton jButton1 = new JButton(); DefaultTableModel tableModel = new DefaultTableModel(); private JTable table = new JTable(tableModel); private JScrollPane jScrollPane1 = new JScrollPane();
public Creg() { try { jbInit(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { Creg creg = new Creg(); creg.setSize(500,400); creg.setVisible(true); creg.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private void jbInit() throws Exception { jScrollPane1.setBounds(new Rectangle(25, 80, 355, 225)); text.setBounds(new Rectangle(90, 25, 50, 20)); jButton1.setText(&添加行&); jButton1.setBounds(new Rectangle(150, 20, 90, 30)); this.getContentPane().add(jButton1, null); this.getContentPane().add(text, null); jScrollPane1.getViewport().add(table, null); this.getContentPane().add(jScrollPane1, null); this.getContentPane().setLayout(null); this.setSize(new Dimension(429, 389)); tableModel.addColumn(&文件名&); tableModel.addColumn(&内容&); jButton1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { count=Integer.parseInt(text.getText().trim()); for(int i=0;i&i++) { tableModel.addRow(new String[] {&& , && , && }); } } }); } }
09-03-08 & 发布
jButton1.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e) {
int previous=tableModel.getRowCount(); for(int k=0;k&k++) {     tableModel.removeRow(tableModel.getRowCount()-1); }
try {     count=Integer.parseInt(text.getText().trim());
} catch(Exception exp) { count=0;
}for(int i=0;i&i++) {
tableModel.addRow(new String[] {&& , && , && }); } System.out.println(previous);} });
帮你在事件里面稍稍该了一下!可能不标准,我没做过这个东西!
请登录后再发表评论!
jbutton1.addactionlistener(new actionlistener()
public void actionperformed(actionevent e) {
int previous=tablemodel.getrowcount(); for(int k=0;k&k++) {     tablemodel.removerow(tablemodel.getrowcount()-1); }
try {     count=integer.parseint(text.gettext().trim());
} catch(exception exp) { count=0;
}for(int i=0;i&i++) {
tablemodel.addrow(new string[] {&& , && , && }); } system.out.println(previous);} });
帮你在事件里面稍稍该了一下!可能不标准, 没做过这个东西!
请登录后再发表评论!
jButton1.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e) {
int previous=tableModel.getRowCount(); for(int k=0;k&k++) {     tableModel.removeRow(tableModel.getRowCount()-1); }
try {     count=Integer.parseInt(text.getText().trim());
} catch(Exception exp) { count=0;
}for(int i=0;i&i++) {
tableModel.addRow(new String[] {&& , && , && }); } System.out.println(previous);} });
帮你在事件里面稍稍该了一下!可能不标准,我没做过这个东西!
请登录后再发表评论!
还来刷分的!不过上面的方法我个人看可行,我刚做了个类似的JTable
请登录后再发表评论!新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
空间积分0 信誉积分100 UID阅读权限10积分52帖子精华可用积分52 专家积分0 在线时间0 小时注册时间最后登录
白手起家, 积分 52, 距离下一级还需 148 积分
帖子主题精华可用积分52 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
JTable的单元格显示数据时,只允许在一行上显示。
可我现在需要的是:在一个单元格内如果有多条数据,就可以换行显示。如果只有一条数据,就顶格显示一行的数据。
我是swing新手,求大家帮忙了~!
我是新来的!!!!
呵呵,目的就是学习!!!!
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
空间积分0 信誉积分100 UID阅读权限10积分52帖子精华可用积分52 专家积分0 在线时间0 小时注册时间最后登录
白手起家, 积分 52, 距离下一级还需 148 积分
帖子主题精华可用积分52 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
没有人知道吗? 知道的朋友 帮帮忙吧~!
我是新来的!!!!
呵呵,目的就是学习!!!!
空间积分0 信誉积分102 UID306133阅读权限20积分311帖子精华可用积分311 专家积分0 在线时间4 小时注册时间最后登录
稍有积蓄, 积分 311, 距离下一级还需 189 积分
帖子主题精华可用积分311 专家积分0 在线时间4 小时注册时间最后登录
论坛徽章:0
搬张凳子过来看,这个我也不会
Java小菜鸟
空间积分0 信誉积分100 UID阅读权限10积分5帖子精华可用积分5 专家积分0 在线时间0 小时注册时间最后登录
白手起家, 积分 5, 距离下一级还需 195 积分
帖子主题精华可用积分5 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
可能在JTable里面没有相应的方法吧,自己编一个方法吧。。
空间积分0 信誉积分100 UID阅读权限20积分227帖子精华可用积分227 专家积分0 在线时间0 小时注册时间最后登录
稍有积蓄, 积分 227, 距离下一级还需 273 积分
帖子主题精华可用积分227 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
import java.util.ArrayL
import java.util.L
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.border.*;
import java.awt.*;
public class MultiLineCellRenderer extends JTextArea implements TableCellRenderer {
& & private Color BackC
& & private Color defaultBackC
& & private Color defaultForeC
& & private Color[][] changedC
& & public MultiLineCellRenderer(int intRow,int intCol) {
& && &&&setLineWrap(true);
& && &&&setWrapStyleWord(true);
& && &&&setOpaque(true);
& && &&&defaultBackColor = Color.WHITE;
& && &&&defaultForeColor = Color.BLACK;
& && &&&
& && &&&changedColor = new Color[intRow][intCol];
& && &&&for(int i=0;i&intRi++){
& && && && &for(int j=0;j&intCj++){
& && && && && & changedColor[i][j] = defaultBackC
& && && && &}
& && &&&}
& & }
& & public void setCellBackColor(int setRow,int setCol,Color setColor) {
& && &
& && &&&changedColor[setRow][setCol] = setC
& & }
& & public Component getTableCellRendererComponent(JTable table, Object value,
& && && && &boolean isSelected, boolean hasFocus, int row, int column) {
& && &&&setForeground(defaultForeColor);
& && &&&setBackground(changedColor[row][column]);
& && &&&setFont(table.getFont());
& && &&&if(hasFocus){
& && && && &setBorder( UIManager.getBorder(&Table.focusCellHighlightBorder&) );
& && &&&}else{
& && && && &setBorder(new EmptyBorder(1, 2, 1, 2));
& && &&&}
& && &&&setText((value == null) ? && : value.toString());
& && &&&
& & }复制代码
空间积分0 信誉积分100 UID阅读权限10积分52帖子精华可用积分52 专家积分0 在线时间0 小时注册时间最后登录
白手起家, 积分 52, 距离下一级还需 148 积分
帖子主题精华可用积分52 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
哈哈 还是自己人给解决的 不亏是我组长~!哈哈!
我是新来的!!!!
呵呵,目的就是学习!!!!
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处关于Java中Swing的问题,下面的窗体怎么实现?在JTable最上面有俩条信息栏,最下面还有一个状态栏用来显示表中的数据统计,并且移动上面每一列的宽度时,最下面一行也会跟的动?
关于Java中Swing的问题,下面的窗体怎么实现?在JTable最上面有俩条信息栏,最下面还有一个状态栏用来显示表中的数据统计,并且移动上面每一列的宽度时,最下面一行也会跟的动?
不区分大小写匿名
设置JTable的列宽不可修改和列的顺序不可移动
JTable table=new JTable();
表头不可拖动
table .getTableHeader().setReorderingAllowed(false);
列大小不可改变table .getTableHeader().setResizingAllowed(false)
本身JTable没有方法可以直接设置选择行的前景色和背景色,但是我们可以通过从写TableCellRenderer这个接口来实现我们需要的功能。此接口定义了要成为 JTable 中单元格渲染器的任意对象所需的方法。 我们通过重写 getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
返回用于绘制单元格的组件。 table - 要求渲染器绘制的 JTable;可以为 null value - 要呈现的单元格的值。由具体的渲染器解释和绘制该值。例如,如果 value 是字符串 "true",则它可呈现为字符串,或者也可呈现为已选中的复选框。null 是有效值 isSelected - 如果使用选中样式的突出显示来呈现该单元格,则为 true;否则为 false hasFocus - 如果为 true,则适当地呈现单元格。例如,在单元格上放入特殊的边框,如果可以编辑该单元格,则以彩色呈现它,用于指示正在进行编辑 row - 要绘制的单元格的行索引。绘制头时,row 值是 -1 column - 要绘制的单元格的列索引 来实现。 Java代码
import java.awt.BorderL
import java.awt.C
import javax.swing.JF
import javax.swing.JScrollP
import javax.swing.JT
import javax.swing.table.DefaultTableCellR
import javax.swing.table.TableCellR
class EvenOddRenderer implements TableCellRenderer {
public static final DefaultTableCellRenderer DEFAULT_RENDERER =
new DefaultTableCellRenderer();
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component renderer =
DEFAULT_RENDERER.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
Color foreground,
if (isSelected) {
foreground = Color.YELLOW;
background = Color.GREEN;
if (row % 2 == 0) {
foreground = Color.BLUE;
background = Color.WHITE;
foreground = Color.WHITE;
background = Color.BLUE;
renderer.setForeground(foreground);
renderer.setBackground(background);
public class ResizeTable {
public static void main(String args[]) {
final Object rowData[][] = {
{ "1", "one",
{ "2", "two",
{ "3", "three", "III" }};
final String columnNames[] = { "#", "English", "Roman" };
final JTable table = new JTable(rowData, columnNames);
JScrollPane scrollPane = new JScrollPane(table);
table.setDefaultRenderer(Object.class,new EvenOddRenderer());
JFrame frame = new JFrame("Resizing Table");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(scrollPane, BorderLayout.CENTER);
frame.setSize(300, 150);
frame.setVisible(true);
用jb开发吧 ~!!! jb有很多自己的 插件 做表格要比光用 swing好多了
不要用状态栏来做显示。。。直接在最下文放一个小的table。通过改变上面表格的宽度来定义下面小table的列宽
那上面那俩行呢?
能不能有一点简单代码解释一下?谢谢!
上面放个伪TABLE。。。看起来像。。。
eclipse 插件。。可视化设计。
相关知识等待您来回答
编程领域专家中国第一军事门户网站 | &>&&>&
Java中JTable的用法
企业软件热点文章
 Oracle数据库维护中的前瞻性
 Java“多继承”
  Swing颇受欢迎的JTable类为显示大块数据提供了一种简单的机制。JTable有很多东西是用于数据的生
企业软件热点文章
 Oracle数据库维护中的前瞻性
 Java“多继承”
  Swing颇受欢迎的JTable类为显示大块数据提供了一种简单的机制。JTable有很多东西是用于数据的生成和编辑,其中的很多东西还可以自定义,从而更进一步增强其功能。本文会引导你一步步地进入JTable的世界。  Listing A包含了一个简单示例的代码,这个示例会说明常用JTable的行为。用户能够更改JTable的布局、拖放它的栏,或者通过拖动标题的分隔线来改变其大小。  这些列被保存在一个String数组里:  String[] columnNames = {"Product","Number of Boxes","Price"};  数据被初始化并保存在一个二维的对象数组里:  Object[][] data =  {  {"Apples", new Integer(5),"5.00"},  {"Oranges", new Integer(3),"6.00"},  {"Pears", new Integer(2),"4.00"},  {"Grapes", new Integer(3),"2.00"},  };  JTable是使用data和columnNames构成的:  JTable table = new JTable(data, columnNames);  查看JTable  JTable的高度和宽度按照下面的方法来设定:  table.setPreferredScrollableViewportSize(new Dimension(300, 80));  如果JTable的一个列或者JTable窗口自身的大小被重新确定,那么其他列会被相应的缩小或者放大,以适应新的窗口。使用setAutoResizeMode()方法就能够控制这种行为:  table.setAutoResizeMode(int mode);  mode整数字段可能的值有:  AUTO_RESIZE_OFF  AUTO_RESIZE_NEXT_COLUMN  AUTO_RESIZE_SUBSEQUENT_COLUMNS  AUTO_RESIZE_LAST_COLUMN  AUTO_RESIZE_ALL_COLUMNS  表格的缺省值  单元格内方格坐标线的缺省颜色是Color.gray。要更改这些方格坐标线的颜色,就要用到:  table.setGridColor(Color.black);  你可以用下面的方法来改变行的高度:  table.setRowHeight(intpixelHeight);  各个单元格的高度将等于行的高度减去行间的距离。  在缺省情况下,内容的前景颜色和背景颜色的选择都是由Swing的所见即所得的实现来确定的。你可以使用下面的方法来更改选择的颜色:  table.setSelectionBackground(Color.black); table.setSelectionForeground(Color.white);  你也可以隐藏单元格的方格坐标线,就像下面这样:  table.setShowHorizontalLines(false);  table.setShowVerticalLines(false);  列的宽度  JTable组件有几个控制表格特性的类和接口。TableColumn会不断追踪列的宽度,并负责列大小的调整,包括最大和最小宽度。  TableColumnModel管理着TableColumns的集合以及列的选择。要设置某个列的宽度,就要为表格列的模型设置一个参照。然后,取得想要的TableColumn并调用其setPreferredWidth()方法:  TableColumncolumn = table.getColumnModel().getColumn(0);  column.setPreferredWidth(100);  当用户拖放列的时候,列的索引并不会发生改变。getColumn(0)方法会一直返回正确的列,无论它出现在屏幕的哪个地方。  标题  JtableHeader会处理JTable标题的显示。你可以细分JtableHeader以获得自定义的布局。例如,如果你的应用程序需要一个跨越多个列的标题,那么只用简单地细分JtableHeader并将它集成到你的JTable里就行了。  你可以通过为当前JTable的JtableHeader设置一个参照或者调用其setReorderingAllowed()方法,来指定标题的重新排序是否被允许:  table.getTableHeader().setReorderingAllowed(false);  类似地,你可以确信列不会因为在列标题之间拖动而改变大小。要达到这个目的,你就要使用setResizingAllowed()方法:  table.getTableHeader().setResizingAllowed(false);  选择模式  在缺省状况下,当用户在JTable里选择一个单元格的时候,整个行都被选中了。有多种方法能够让用户自定义选择的方式。利用ListSelectionModel接口,你可以允许用户选择单个或者多个行:  table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);  ListSelectionModel有下面这些字段:  SINGLE_SELECTION允许一次选择一行。  SINGLE_INTERVAL_SELECTION允许选择相邻的一系列行。  MULTIPLE_INTERVAL_SELECTION也允许选择相邻的列,但是带有扩展功能。它允许用户使用[Ctrl]键进行多个互不相邻的选择(即选择不相邻的行)。  setCellSelectionEnabled()方法让用户能够同时选择单个单元格或者整个行:  table.setCellSelectionEnabled(true);  如果被设置为是,setCellSelectionEnabled()方法还会允许在选择行和单个单元格的同时选择列,如果图B所示。<
标签:Java
本栏目最新文章
俄罗斯前所未有地在中西部地区举行军备检查,虽如普京...
热门关键词相关文章推荐:
jtable 打印
import javax.swing.*;
import javax.swing.table.*;
import java.awt.print.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.D
public class zxd implements Printable{
JTable tableV
public zxd() {
frame = new JFrame("Sales zxd");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);}});
final String[] headers = {...
回复 (2) 浏览 (1175)
其他文章推荐
ITPUB官方微博:
这样写报错我知道但是接下来这样写就不报错了不知道为什么哪位前辈指导一下...
回复 (6) 浏览 (183)
本人广东普通一本大学统计学专业毕业一年,去年培训Java做了半年android开发,目前在上海培训linux和oracle,职业规划迷茫中,本来打算做oracle的DBA,上课老师又说做BI好,所以不知怎么抉择?先谈一谈这几年的经历感悟吧,大学太懒,大三开始上人大经济论坛,当时一心想 ......
回复 (15) 浏览 (640)
OverviewAfteranobjectwhichoverridesfinalize()iscollecteditisaddedtoafinalizationqueuetobecleanedupaftercallingthefinalize()methodofeachobject.Bywhathappensifyouresurrecttheobject?...
回复 (5) 浏览 (127)
Theworldischangingslowlybutsurely.AfterthechangesthatgavejavaafresherlookwithJDK7,thejavacommunityislookingforwardtotherestoftheimprovementsthatwillcomewithJDK8andprobablyJDK9.ThetargetedpurposeofJDK8wastofillinthegapsintheimplementationofJDK7–parto ......
回复 (9) 浏览 (170)
Theenterprisejavaapplicationstackisgrowingbiggerandbiggerwhichmakesitequallydifficulttokeepcontrolonallthelayersoftheinfrastructuretogetmaximumresultoutofit.Oneofthebasicrequirementofanywebapplicationiswellperforming,wewillcoverhereanidealenterprisej ......
回复 (2) 浏览 (140)
第一种方法:1.右键查看并记录该对象的大小信息。2.右键&visio对象&转换&确定3.重新设置对象大小就ok了。第二种方法:双击visio图,进入编辑模式;全选所有的图形(Ctrl+A);在选择的图形上点击右键选择“格式”-》“保护”;将“文本”选择框勾选后确 ......
回复 (11) 浏览 (386)
今天测试的一个把页面的内容保存成excel的功能,用js来实现,并有打印功能;附html,(直接拷贝下边代码,保存成x.htm,即可运行)&head&&&meta.http-equiv=&Content-Type&content=&text/charset=gb2312&/&&&title ......
回复 (4) 浏览 (1343)
回复 (8) 浏览 (15)
今天有一台mysql服务器突然连接数暴增,并且等待进程全部被锁...因为问题解决不当,导致被骂...OTL总结:以后要快速定位错误,布置解决方案登录到mysql客户端后,使用status命令也能获得thread连接数以及当前连接的id或者用showfullprocesslist&看一下所有连接进 ......
回复 (8) 浏览 (1362)
当尝试使用DrawString和MeasureString向设备进行打印和预览的时候,总是发现所打印的文字不是偏向右点就是偏向左点,似乎MeasureString工作不正常。查遍MSDN和微软论坛,终于找到解决方案。再进行测量时我们需要明确StringFormat.GenericTypographic属性来创建StringFor ......
回复 (5) 浏览 (644)
文章推荐:
盛拓传媒:
友情链接:
特别鸣谢:
北京皓辰网域网络信息技术有限公司. 版权所有
北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证:编号(京)字第1149号
ITPUB推荐文章解答你所有技术难题

我要回帖

更多关于 java jtable 添加数据 的文章

 

随机推荐