如何向JOptionPane.showConfirmDialog(...)添加滚动条

时间:2015-11-28 06:02:31

标签: java swing user-interface joptionpane

我有一个充满JLabel,JTextFeilds和Buttons的JOptionPane,但是我在对话框中有很多东西,它开始变得比我的屏幕更大。

如何缩小对话框并将滚动条添加到JOptionPane?

我通过创建面板创建了对话框,将所有myJLabels,JTextFeilds和Buttons添加到其中,将面板添加到我的框架,然后:

JOptionPane.showConfirmDialog(frame1, panel1, "Please Enter Character Information", JOptionPane.OK_CANCEL_OPTION);

This is what I want to add a vertical scroll bar to

1 个答案:

答案 0 :(得分:3)

您已经有了部分答案,而不是将panel1作为"消息"参数,首先包裹JScrollPane

 JOptionPane.showConfirmDialog(frame1, new JScrollPane(panel1), "Please Enter Character Information", JOptionPane.OK_CANCEL_OPTION);

现在,这可能只能解决部分问题。由于JScrollPane使用组件的preferredSize作为计算视口大小的基础,因此这可能对您没有帮助。

您可能需要实现Scrollable界面,通过Scrollable#getPreferredScrollableViewportSize提供较小的视图矩形。然后,JScrollPane会将此值用作其自身preferredSize计算的一部分