JTable 在 JScrollPane 中不可见
JTable not visible inside JScrollPane
我在 JScrollPane 中有一个 JTable。我只想在按下特定按钮时显示 table,否则不应显示。
为了合并,我在声明时将 ScrollPane 的 setVisible
方法设置为 false
,并在 actionPerformed
方法中将其设置为 true
JButton.
但即使按下 JButton,JTable 也不可见。
这是我的代码:
public class TableSample{
private JTable table;
....
private void initialize() {
JScrollPane scrollPane = new JScrollPane();
table = new JTable(new DefaultTableModel(new Object[][] {{null, null}, {null, null}, }, new String[] {"column1", "column2"}));
scrollPane.setViewportView(table);
scrollPane.setVisible(false);
JButton button = new JButton("Show Table");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
....
scrollPane.setVisible(true);
....
}
});
....
}
我使用了组布局,因此将 ScrollPane 添加到组布局的框架中。
当我根本不更改 setVisible
时,JTable 也是可见的(默认情况下 true
)
感谢任何帮助...
当您将组件添加到可见 GUI 时,基本逻辑是:
panel.add(...);
panel.revalidate(); // to invoke the layout manager
panel.repaint(); // sometimes needed to make sure panel is repainted
我在 JScrollPane 中有一个 JTable。我只想在按下特定按钮时显示 table,否则不应显示。
为了合并,我在声明时将 ScrollPane 的 setVisible
方法设置为 false
,并在 actionPerformed
方法中将其设置为 true
JButton.
但即使按下 JButton,JTable 也不可见。
这是我的代码:
public class TableSample{
private JTable table;
....
private void initialize() {
JScrollPane scrollPane = new JScrollPane();
table = new JTable(new DefaultTableModel(new Object[][] {{null, null}, {null, null}, }, new String[] {"column1", "column2"}));
scrollPane.setViewportView(table);
scrollPane.setVisible(false);
JButton button = new JButton("Show Table");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
....
scrollPane.setVisible(true);
....
}
});
....
}
我使用了组布局,因此将 ScrollPane 添加到组布局的框架中。
当我根本不更改 setVisible
时,JTable 也是可见的(默认情况下 true
)
感谢任何帮助...
当您将组件添加到可见 GUI 时,基本逻辑是:
panel.add(...);
panel.revalidate(); // to invoke the layout manager
panel.repaint(); // sometimes needed to make sure panel is repainted