你能把JFrame放在全屏独占模式吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你能把JFrame放在全屏独占模式吗?相关的知识,希望对你有一定的参考价值。
说实话,我不太清楚如何在标题中表达我的问题。因此,如果有人对我想要提出的问题有了更清楚的认识,那么请为编辑它,以获得人类的更大利益。
我有以下代码:
public class Main {
public static void main(String[] args) {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
JFrame frame = new JFrame();
Window window = new Window(frame);
JButton btn = new JButton("Quit");
window.add(btn);
if(gd.isFullScreenSupported())
gd.setFullScreenWindow(window);
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
gd.setFullScreenWindow(null);
}
});
}
}
我想要做的是制作一个以全屏模式说明的图书馆系统。在全屏模式下,应该有简单的框架窗口,其中包含文本字段等等......这里不需要沉重的2D / 3D图形......
我的问题是,退出按钮的大小调整以适应整个屏幕。我试图在框架,窗口甚至按钮上使用setBounds,setSize等......但它似乎并没有让我能够将按钮置于中间位置。
所以我的问题是:是否可以在JFrame应用程序窗口中设置JFrame应用程序窗口,该窗口设置为全屏独占模式?或者只能使用全屏独占模式和绘图等2D / 3D方法?
注意:我打算使用全屏模式的唯一方法是将其设置为黑色背景,并在应用程序中心的此黑色背景上有一个Jframe窗口。这是为了让人觉得应用程序实际上是一个系统。
谢谢。
附:请注意,退出按钮仅用于我自己的测试目的。它不会是实际系统的一部分,所以我的问题不在于如何调整这个特定的退出按钮的大小。
全屏独占模式并不意味着内置Swing组件。它是一种用Java绘制图形的高性能方法(如果做得好,可以尽可能地利用底层硬件)。
您想要做的事情可以通过使用未装饰的JDesktopPane并在屏幕的尺寸上最大化来完成。然后继续使用JInternalFrame在JDesktopPane中有一个类似JFrame的窗口。
我已经包含了各个API部分的链接,它们可以帮助您入门。
我认为您所追求的是MDI应用程序。如果这就是你的样子,你可以看看here。
您的问题是您没有正确使用布局管理器。了解布局管理器 - 在屏幕上放置和调整可视组件大小/调整大小的模块。然后决定你希望按钮看起来如何,然后决定使用哪个布局管理器。它会完成它的工作。
你知道我也遇到了同样的问题,我从经验中得知的唯一一件事就是你可以使用jinternal框架并将其属性未修饰为true,然后根据你的要求添加自定义标题栏。
以上是关于你能把JFrame放在全屏独占模式吗?的主要内容,如果未能解决你的问题,请参考以下文章