Mik*_*ike 1 java swing jtable jscrollpane
我在从数据库中获取结果后在运行时创建一个表.我的应用程序流程是这样的.
JScrollPane tableScroll = new JScrollPane();码:
private void setResultTable(Vector documents, Vector header) {
TableModel model = new DefaultTableModel(documents, header);
documentTable.setModel(model);
tableScroll.add(documentTable);
tableScroll.repaint();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,在调用setResultTable后,结果没有出现在表中.请帮帮我.提前致谢 !!!
您似乎将JTable直接添加到JScrollPane.如果是这样,这是不正确的,您将要更改此项,以便您实际将表添加到滚动窗格的视口中:
tableScroll.getViewport().add(documentTable);
Run Code Online (Sandbox Code Playgroud)
执行此操作后无需重新绘制JScrollPane.
例如:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class AddTableToScroll {
public static void main(String[] args) {
final JScrollPane sPane = new JScrollPane();
// Sorry Jeanette!!
sPane.setPreferredSize(new Dimension(200, 150));
JButton button = new JButton(new AbstractAction("Press Me!") {
public void actionPerformed(ActionEvent arg0) {
DefaultTableModel model = new DefaultTableModel(new Integer[][] {
{ 1, 2 }, { 3, 4 } }, new String[] { "A", "B" });
JTable table = new JTable(model);
sPane.getViewport().add(table);
}
});
JPanel panel = new JPanel();
panel.add(sPane);
panel.add(button);
JOptionPane.showMessageDialog(null, panel);
}
}
Run Code Online (Sandbox Code Playgroud)
如果这没有帮助,你还要告诉我们到底发生了什么,你看到了什么,如果可能的话,为我们提供一个小的可编译的可运行程序来证明你的问题,一个SSCCE
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |