解决方案 »
- Java 中 .setVisible(false);之后是否还在运行?
- java中使用substance look&feel加水印,水印总是显示不出来
- 帮忙看下IF语句为什么没有执行
- 这段代码是什么意思+this的用法含义
- 怎样让JTable中的数据居中对齐?
- eclipse RCP中可以完全没有view和editor吗?只用纯swing或swt?
- 请问如何把程序中的作图成果保存为图片和其他格式的文档?
- 怎么将DataBuffer类型转换成DataInputStream类型。。。。
- 一道JAVA笔试题
- private类或接口的含义
- 100以内素数和问题
- java中关于droptarget的问题
currow.addElement(res.getString(i));
改成:currow.addElement(res.getString(1));
试试。
额 ,只是改变了一开始的界面,但是还是不能更新table里面的内容
如果你想随时更新table的内容,可以通过JTable类的getModel()方法来获取其对应的TableModel对象,利用TableModel对象来更新
JTable的数据(Swing组件设计利用了MVC设计模式),在这给你个小例子提供点思路:
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.*;public class TestFrame extends JFrame {
private JPanel contentPane;
private JTable table; public static void main(String[] args) { public TestFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
table = new JTable();
final DefaultTableModel dtm = new DefaultTableModel();
dtm.addColumn("序号");
dtm.addColumn("随机数");
for (int i = 0; i < 10; ++i) {
dtm.addRow(new Object[] { i, Math.random() * 100 });
}
table.setModel(dtm);
table.setBounds(10, 10, 414, 208);
contentPane.add(table); JButton button = new JButton("更新");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < dtm.getRowCount(); ++i) {
dtm.setValueAt(Math.random() * 100, i, 1);
}
}
});
button.setBounds(192, 228, 93, 23);
contentPane.add(button);
}
}
点击更新后更新第二列的随机数
希望有帮助
currow.addElement(res.getString(columnNames.get(i-1)));
currow.addElement(res.getString(columnNames.get(i-1)));
恩,我去试一试
不过具体的原因还是不太清楚,我也用了model了啊。。