当前位置: 首页 > 知识库问答 >
问题:

JFrame setPreferredSize会导致屏幕尺寸稍大

卓胜
2023-03-14

我最初使用的是setSize,但由于java边框和标题空间的原因,这导致屏幕上的内容比屏幕稍大。所以我使用了setpreferredSize,现在屏幕尺寸有点太大了。在我的内容的右侧和底部留出空间。

在我的框架中:

add(new Board());
    setTitle("Rougebot");
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    //setSize(600, 800);
    //getContentPane().setPreferredSize(new Dimension(600,800));
    pack();
    setLocationRelativeTo(null);
    setVisible(true);
    setResizable(false);

在我的董事会(JPanel)

setPreferredSize(new Dimension(600,800));

共有2个答案

董弘新
2023-03-14

框架有装饰(外框架)。包试图做的是确保内容(可视)区域符合所有子组件的首选大小的要求,然后添加周围的框架装饰。

装饰的大小取决于平台

例如

  • Java JFrame。设置大小(x,y)不工作
狄信然
2023-03-14

在调用pack()之前调用setresizeable(false)

add(new Board());
setTitle("Rougebot");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false); // <-- here
pack();
setLocationRelativeTo(null);
setVisible(true);

并继续设置Board的首选大小,如您原始帖子中的示例所示。

在Windows中,固定边框比可调整大小的边框要薄,如果计算大小并将其设置为固定大小,则会更改窗口边框宽度,在Windows中,这会导致客户端区域增加,外部尺寸保持固定。

 类似资料:
  • 问题内容: 嗨,我正在编写图形程序,我一直在寻找一种获取所使用屏幕物理尺寸的方法。我可以获得以像素为单位的屏幕大小以及逻辑分辨率。我似乎找不到任何地方可以获取任何显示器规格中始终具有的物理尺寸(例如19“-376 x 301 mm)。问题是,加载此信息时,此信息是否甚至还存储在OS中的任何位置?我正在编写的程序需要在Mac和Windows上运行。 谢谢! nt 问题答案: 我认为Java不可能实现

  • 问题内容: 我已经仔细阅读了http://developer.android.com/guide/practices/screens_support.html和其他相关网站中的文档,但我仍然对此表示怀疑。让我解释: 我已经为值,values-large和values- xlarge实现了dimens.xml,因此,例如,在平板电脑上运行时,我的Android应用程序很好。但是,我指定了填充,边距,

  • 问题内容: 无论屏幕大小如何,我都想使用Swift代码在我的应用程序中正确定位项目。例如,如果我希望按钮的宽度为屏幕宽度的75%,则可以做为按钮的宽度。我发现可以通过在Objective-C中确定 不幸的是,我不确定如何将其转换为Swift。有人有主意吗? 谢谢! 问题答案: 在Swift 3.0中 快点做:做这样的事情: 那么您可以像这样访问宽度和高度: 如果您想要屏幕宽度的75%,则可以执行以

  • 问题内容: 我目前正在尝试设计一种可以兼容多种屏幕尺寸的布局。我正在设计的屏幕尺寸如下: 屏幕尺寸: 640x480 800x600 1024x768 1280x1024(及更大) 我遇到的麻烦是创建css3媒体查询,以便当窗口的宽度变为这些宽度之一时,布局会发生变化。以下是我当前正在使用的媒体查询的示例,但不适用于我,因此我想知道是否有人可以帮助我修复它。 我尝试使用一组新的媒体查询,但是它们仍

  • 我试图用swXXXdp布局文件为不同的屏幕大小创建不同的布局。不幸的是,我仍然不能分开5,0“和6,3”作为可见的附上的图像。两种大小仍然使用相同的文件:layout-sw412dp。对此有什么想法吗?

  • 简介 本文将介绍 Weex 适配不同尺寸屏幕的方法以及横竖屏动态切换时如何自适应。 Weex 如何将前端样式值转换为系统坐标值 以 iOS 为例,在应用启动时,Weex 获取当前屏幕宽度作为全局默认值。在 iOS 系统上该宽度为实际像素/屏幕比例后的 UIKit 宽度。比如 iPhone6 为 375。 @implementation WXCoreBridge + (void)install