- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个带有主面板的java应用程序,我在其中添加了一个JDesktopPane
。用户点击JButton
,将显示一个JInternalFrame
。我的问题是,如果我使用 Mac OSx 外观,JDesktopPane
以正确的大小显示 JInternalFrame
,如果我使用其他外观,它将显示 屏幕维度中的JInternalFrame
。这就是我所做的:
在主JPanel
中:
jDesktopPane1 = new JDesktopPane();
setContentPane(jDesktopPane1);
当用户单击JButton
时:
public void addInDesktop(JInternalFrame frame){
frame.setVisible(true);
try {
jDesktopPane1.setSize(frame.getSize());
jDesktopPane1.setPreferredSize((frame.getSize()));
System.out.println(frame.getSize().toString());
System.out.println(jDesktopPane1.getSize().toString());
jDesktopPane1.add(frame);
frame.moveToFront();
frame.setSelected(true);
} catch (PropertyVetoException e) {
e.printStackTrace();
}
}
System.out.println
告诉我 JDesktopPane 和 JInternalFrame 的尺寸是相同的,但为什么它显示全屏尺寸的 JInternalFrame?
最佳答案
如果您要在 jDesktopPane1.add(frame) 之后打印尺寸,您可能会看到尺寸的变化。我建议将桌面 Pane 设置为内部框架的大小是一种不好的做法 - 我认为它应该保留桌面 Pane 所在的父 JFrame 的客户区域的大小(您调用 setContentPane( 的框架) jDesktopPane1) ),然后让内部框架自然地位于其中的某个位置。
可能发生的情况是,将 Pane 和内部设置为相同的大小可能会使外观和感觉假设您的意思是“最大化”,因此当它正确解析桌面 Pane 的大小时它对内部框架做了一些奇怪的事情。
尝试不在桌面 Pane 上调用 setSize()/setPreferredSize(),然后查看其在 L&F 中的行为是否一致。如果内部框架的默认尺寸不是您想要的,那么您也许可以弄清楚如何最好地处理内部框架。
关于java - 如何设置JDesktopPane大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9905777/
我一直在设计一个基于 Swing 的桌面 RPG 程序,以方便使用 GUI 控制元素进行基于文本的角色扮演。 为了实现这一点,每个正在运行的客户端都会获得一个包含所有重要 JFrame 的主桌面(托管
我想在按钮触发器中隐藏我的JDesktopPane。但这不会隐藏自己。我创建了一个隐藏框架的静态 void 方法,并在 actionPerformed 中调用它。我需要运行另一个 EDT 来隐藏我的框
我想将 JDesktopPane 设置为透明,并允许我单击下面的内容(例如桌面图标等)。内部框架应保持不透明,并且能够像当前一样在屏幕周围重新定位。有什么想法吗? package test1;
由于我们在软件中使用 JDesktopPane 和 JInternalFrames ,我想知道我们是否可以将快捷图标(特定框架)放置在桌面 Pane 内(类似于Windows 桌面快捷方式)。我搜索了
我正在为 JDesktopPane 使用自制的 DesktopPaneUI,我已经为该类编写了正确的方法,但我遇到了麻烦。当我调整 JDesktopPane 大小时,背景图像不会随框架调整大小。图像似
我是一名初学者,正在创建 MDI 格式的 Java 桌面应用程序,因此使用了 JDesktopPane 和内部框架。我主要为此使用 NetBeans 拖放。现在我需要设计一个可以滚动的属性的页面。我需
制作全屏 mdi 应用程序是一个坏主意吗?还有其他人尝试过这个吗?目前正致力于重新设计触摸屏终端上使用的应用程序。空间至关重要,我相信能够最大化、调整应用程序窗口大小等确实会使终端更加强大。有人有这方
我一直在努力驯服JDesktopPane与可调整大小的 GUI 和滚动 Pane 一起很好地工作,但这样做有一些麻烦。看起来除非拖动模式是轮廓,桌面 Pane 不会按预期调整大小(当内部框架被拖动到桌
我们有一个包含两个 JFrames 和两个 JDesktopPanes 的应用程序。我们需要将内部框架从一个框架移动到另一个框架。 我们遇到的问题是,在我们将内部框架从第一个窗口移动到第二个窗口后,当
我有一个 JDesktopPane 并希望以网格样式显示 JInternalFrames 而无需覆盖框架。框架的尺寸会有所不同,因此应动态分配它们的位置。我可以存储最后放置的框架的坐标,但可以移动、最
我想为 javax.swing.JDesktopPane 添加滚动功能。但是包装在 javax.swing.JScrollPane 中不会产生所需的行为。 Searching the web表明这个问
我在使用 Swing 设计 MDI 应用程序时遇到了一些麻烦。 我在实现 JDesktopPane 和 JInternalFrames 时没有遇到任何问题,我的问题会更具体一点。这是我的基本容器框架一
我正在编写一个程序,试图模拟一个物种的进化,它有一个如下所示的窗口: 最初右下角的空白区域是一个面板,它的目的是绘制标本、位置和行进路径的视觉表示(并不重要)。但是,您将能够打开某种窗口,允许您创建/
我有主员工表单,我想在我的主表单上显示它们。该主窗体是MDI容器,所以我只想知道如何显示主雇员窗体。 这是JDesktopPane创建对象代码: public class MainForm exten
我想在两个 JPanel 之间画线,但线没有出现在 LayeredPane 上。 这就是我所做的,请仔细阅读它,可编译。请尝试并更正此代码。我尝试过以这种方式在内部框架上绘制线条,但它不适用于 JPa
我使用 JDesktopPane 并创建多个 JInternalFrame 对象。当我最小化所有框架并最大化其中任何一个框架时,打开的框架会覆盖所有最小化的框架。 如何使所有最小化的框架可见? 最佳答
所以我在JFrame上有一个desktopPane,在desktopPane上是一个JInternalFrame。现在,我将internalFrame的位置设置为desktopPane的中心,但是当我
我想创建我所读取的文件的预览,其中包含指定的行数。我的代码工作正常,问题是如果我选择其他行数,JDesktopPane 不会刷新并且会覆盖前面的行。 我的代码如下所示: previewButton.a
我将项目的 LAF 设置为系统默认外观。现在我试图将 JDesktopPane 放入我的一个面板中,但我希望我所有的内部框架都使用 java 默认 LAF。有没有办法在不改变整个项目的LAF的情况下改
我试图将 JPanel 添加到我的 JFrame,然后将 JFrame 的 contentPane 设置为 JDesktopPane,以便我可以创建新的 JInternalFrames 并将它们添加到
我是一名优秀的程序员,十分优秀!