站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题[50分赠一人]关于JTable的简单问题,在线等

[50分赠一人]关于JTable的简单问题,在线等

摘要: [50分赠一人]关于JTable的简单问题,在线等


代码如下,很简单:目的就是当我点击按钮后,希望JTable立即刷新.

但问题有两个,如下:
1.点按钮后刷新不了,需要我手动刷新后(例如用鼠标拖动来改变窗体大小),才能正确显示.
2.我现在来办法是,先把JTable从窗体中Remove掉,再创建个新的JTable,然后再add上去。但是我觉得这种办法有点不好,有没有直接update的办法?

非常感谢!分不够再加!

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class TableTest extends JFrame{
JTable JJ;
public TableTest(){
Object[][] data=new Object[20][2];
Object header[]= {-#34;Name-#34;,-#34;Height-#34;};
for (int i=0;i-#60;20;i++)
for (int j=0;j-#60;2;j++)
data[i][j]=-#34;table1-#34;;
JJ = new JTable(data,header);
setLayout(new BorderLayout());
add(JJ,BorderLayout.CENTER);

JButton BB = new JButton(-#34;Update-#34;);
BB.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent me){
Object[][] dt=new Object[10][2];
Object hd[]= {-#34;Type-#34;,-#34;Area-#34;};
for (int i=0;i-#60;10;i++)
for (int j=0;j-#60;2;j++)
dt[i][j]=-#34;table2-#34;;

updateTable(dt,hd);
}
});

add(BB,BorderLayout.SOUTH);

}

public void updateTable(Object [][] data,Object[] header){
remove(JJ);
JJ = new JTable(data,header);
add(JJ,BorderLayout.CENTER);
}

public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
TableTest KK = new TableTest();
KK.setBounds(0,0,300,300);
KK.setVisible(true);
KK.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}



在点击按钮的时候调用JTable的updateUI方法
javax.swing.JTable aa=new javax.swing.JTable();
aa.updateUI();


多谢多谢。
我加了句TableTest.this.JJ.updateUI();果然就可以了。

但是请问你能回答我第二个问题么?


你第二个问题不就是你解决你第一个问题的方法吗?
还有什么疑问撒?


就是说必须先remove,然后再add才能刷新么?


aa.updateUI();这样就可以刷新了啊


那为什么我把
public void updateTable(Object [][] data,Object[] header){
remove(JJ);
this.JJ = new JTable(data,header);
add(JJ,BorderLayout.CENTER);
}

改成
public void updateTable(Object [][] data,Object[] header){
this.JJ = new JTable(data,header);
}

以后,即使用了updateUI()也刷新不了?


不用remove
paint(Graphics g)重绘方法应该也可以,不过没有试过


哦,知道了.
谢谢,揭贴


aa.repaint();是这个重绘
上面错了


↑返回目录
前一篇: 一般,除了全角半角的空格之外,还有些什么样的空格?....烦,,,大家怎么过滤的?
后一篇: 菜鸟的问题,请教!!!