我的问题是......
JFrame ActualFrame = new JFrame("Actual frame");
JScrollPane pane = new JScrollPane(new JTable(data, columns));
ActualFrame.add(pane);
ActualFrame.add(PrintPreviewBtn);
PrintPreviewBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFrame PreviewFrame = new JFrame("Preview");
PreviewFrame.add(pane, BorderLayout.CENTER);
}
当我运行程序时,一切似乎都很好,但是当我按下打印预览按钮时,预览框架会显示出来,当我最大化或调整 ActualFrame 的大小时,表格会消失......
注意: 我将 Pane 添加到预览框架中,以显示它就像显示的表格的预览一样......是打印预览的任何其他方法
最佳答案
一个组件只能属于一个父组件。当您将其添加到 PreviewFrame
时,它会自动从 ActualFrame
中删除。
不使用前一个面板,而是使用前一个面板中的模型创建一个新的 JTable
。
更新
打印表格有点复杂,包括标题,并且需要调整列的大小以满足可用空间的要求。
看看Printing Tables tutorial举一些例子
关于java - 当框架最大化时,滚动 Pane 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14343845/