java - 当框架最大化时,滚动 Pane 消失

标签 java swing jscrollpane jbutton actionlistener

我的问题是......

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/

相关文章:

Java2D 在移动图像后删除旧像素?

jquery - 帮助我使用 jScrollPane - JQUERY 插件

Java:Runtime.getRuntime().exec() - 如何获取对已启动程序 JFrame 的引用?

java - 通过 ActionListener 更新 JMenuItem

Java读取包含日文字符的文件

java - 如何将 double 分成单独的收集值

java - 如何 : JTextPane auto wrapping NOT on word boundary such as "space", 但在字母边界上

java - 如何设置滚动到顶部 - JScrollpane中有多个JTextarea的JPanel

java - 优化java程序中trie结构的空间使用

java - 奇怪的java.lang.OutOfMemoryError——进程没有崩溃