我有一个JTable显示罚款。如果我将表放在JScrollPane中,它就不再显示了。为什么不?我想在自己的JScrollPane中添加两个表。这里是我的代码,我只想在第一个表中添加一个JScrollPane:
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 1000, 800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JProgressBar progressBar = new JProgressBar();
progressBar.setBounds(50, 68, 700, 14);
frame.getContentPane().add(progressBar);
JTextPane txtpnAutomotiveHmi = new JTextPane();
txtpnAutomotiveHmi.setText("Automotive HMI");
txtpnAutomotiveHmi.setBounds(362, 21, 205, 20);
frame.getContentPane().add(txtpnAutomotiveHmi);
testcase_table = new JTable();
testcase_table.setBounds(50, 125, 350, 426);
JScrollPane scroll_testcase = new JScrollPane(testcase_table);
frame.getContentPane().add(scroll_testcase);
teststep_table = new JTable();
teststep_table.setBounds(399, 125, 350, 426);
frame.getContentPane().add(teststep_table);
}
感谢。
答案 0 :(得分:1)
不要设置 null 布局。它不是“默认布局”,也不是“最简单的实现”。实际上很难做对。
JFrame
默认使用BorderLayout
。添加JProgressBar
BorderLayout.NORTH
,JTextPane
添加BorderLayout.SOUTH
,JScrollPane
添加BorderLayout.CENTER
。删除所有setBounds
。组件将出现。如果您需要以某种复杂的方式定位它们,请阅读GridBagLayout
。
答案 1 :(得分:0)
定义表的大小并设置相同的大小以滚动窗格。
scrollPane.setSize(table.getSize());