我想做以下事情:
public class MyCustomDialog extends JDialog
{
public MyCustomDialog()
{
if (getClientVertScreenSize() < 800)
{
// Set the vertical size as 600, and give them a scroll pane to navigate to the bottom of the gui.
}
else
{
setSize(600, 800); // No need to add a scroll pane.
}
}
}
问题是我不知道如何检查客户端的屏幕大小,所以我不知道如何编写我的构造函数所依赖的方法。
答案 0 :(得分:4)
请参阅Toolkit.getDefaultToolkit()。getScreenSize()
答案 1 :(得分:3)
您可以做的只是将您的组件放在JScrollPane
中,并将horizontal和vertical滚动条策略设置为[VERTICAL|HORIZONTAL]_SCROLLBAR_AS_NEEDED
。这样,仅当JScrollPane
的大小小于组件的首选大小时,才会显示滚动条。
答案 2 :(得分:2)
类java.awt.Toolkit
有一个名为getScreenSize()
的实例方法,它返回类型为java.awt.Dimension
的对象。 Dimension
是一个不可变对象(无法更改),包含两个公开的最终字段:width
和height
。您可以获取java.awt.Toolkit
的实例并执行
您应该使用以下代码:
import java.awt.Dimension;
import java.awt.Toolkit;
public class MyCustomDialog extends javax.swing.JDialog {
public MyCustomDialog() {
super(); // Invoke any JDialog initialization code.
Toolkit t = Toolkit.getDefaultToolkit();
if (t.getScreenSize().height < 600) {
setSize(getWidth(), 600);
// Add your scrollpane, etc.
} else {
setSize(600, 800); // No need to add a scroll pane.
}
}
}