作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个充满 JLabels、JTextFeilds 和 Button 的 JOptionPane,但对话框中的内容太多,以至于它开始变得比我的屏幕还要大。
如何缩小对话框并向 JOptionPane 添加滚动条?
我通过以下方式创建了对话框:创建一个面板,向其中添加所有 myJLabels、JTextFeilds 和 Button,将面板添加到我的框架中,然后:
JOptionPane.showConfirmDialog(frame1, panel1, "Please Enter Character Information", JOptionPane.OK_CANCEL_OPTION);
最佳答案
您已经有了部分答案,不要将 panel1
作为“消息”参数传递,而是先将其包装在 JScrollPane
中
JOptionPane.showConfirmDialog(frame1, new JScrollPane(panel1), "Please Enter Character Information", JOptionPane.OK_CANCEL_OPTION);
现在,这可能只能解决部分问题。由于 JScrollPane
使用组件的 preferredSize
作为计算视口(viewport)大小的基础,这可能对您没有帮助。
您可能需要实现 Scrollable
接口(interface),通过 Scrollable#getPreferredScrollableViewportSize
提供更小的 View 矩形。 。然后,JScrollPane
将使用该值作为其自己的 preferredSize
计算的一部分
关于java - 如何向 JOptionPane.showConfirmDialog(...) 添加滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33968242/
我是一名优秀的程序员,十分优秀!