【发布时间】:2017-12-11 14:27:32
【问题描述】:
我有一个工作的JDialog,现在我想给它添加滚动条。文档让我有点困惑。我是否将对话框添加到JScrollPane,反之亦然?
似乎所有示例在对话框中都有一个JPanel,并且面板是可滚动的。我有一个动态增长的对话框,所以我希望对话框本身可以滚动。有人能指出我正确的方向吗?
回复安德鲁·汤普森
感谢您的回复。
此时我让布局管理器确定大小。我还不确定让它变得多大,所以我还没有设置任何尺寸。它只是随着我添加行而增长。这将是这个开发阶段的一部分。宽度不会改变,只是高度。我使用“invokelater”显示对话框。这是相关代码:
timeLineDialog = new JDialog();
timeLineDialog.setLayout(layout);
timeLineDialog.setModalityType(ModalityType.MODELESS);
timeLineDialog.setTitle("Time Line Settings");
timeLineDialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
.
.
.
timeLineDialog.pack();
timeLineDialog.setLocationRelativeTo(GUI.getInstance().getFrame());
timeLineDialog.setVisible(true);
我想要对话框窗格右侧的滚动条。
【问题讨论】:
-
“我是否将 JDialog 添加到 JScrollPane 中,反之亦然?” 两者都没有。而是将对话框的主面板(需要滚动的东西)添加到滚动窗格中,然后将滚动窗格添加到对话框中。 “我有一个动态增长的对话框,所以我希望对话框本身是可滚动的。” 我对你的意思感到困惑。以最小尺寸提供 ASCII 艺术或 GUI 的 预期 布局的简单绘图,具有更大的宽度和高度 - 以显示应如何使用额外空间/应出现滚动条的位置。跨度>
-
我强烈建议您花时间看看
JTable -
谢谢。你是对的。不幸的是,这个东西是进化而不是设计出来的。我可能会决定在某个时候彻底重写,但我需要得到我现在正在工作的东西。
-
在尝试了 JTable 之后,我发现它不适合我的应用程序。有太多的事情我不能用它来做。例如,我不能跨越列(没有大量代码),即使我实现了,如果需要 2 行,我也不能有一个非滚动标题。
标签: java swing jscrollpane jdialog