说实话,我不太清楚如何在标题中表达我的问题。所以,如果有人对我想要提出的问题有了更清楚的认识,那么请为编辑它而感到亲切,为了人类的更大利益。
我有以下代码:
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窗口。这是为了让人觉得应用程序实际上是一个系统。
谢谢。
P.S。请注意,退出按钮仅用于我自己的测试目的。它不会是实际系统的一部分,所以我的问题不在于如何调整这个特定的退出按钮的大小。
答案 0 :(得分:3)
全屏独占模式并不意味着内置Swing组件。它是一种用Java绘制图形的高性能方法(如果做得好,可以尽可能地利用底层硬件)。
您想要做的事情可以通过使用未修饰的JDesktopPane来完成,并在屏幕的尺寸上最大化。然后继续使用JInternalFrame在JDesktopPane中有一个类似JFrame的窗口。
我已经包含了相应API部分的链接,它们可以帮助您入门。
答案 1 :(得分:2)
我认为您所追求的是MDI应用程序。如果这就是你的目标,你可以看看here。
答案 2 :(得分:1)
您的问题是您没有正确使用布局管理器。 了解布局管理器 - 在屏幕上放置和调整可视组件大小/调整大小的模块。然后决定你希望按钮看起来如何,然后决定使用哪个布局管理器。它会完成它的工作。
答案 3 :(得分:0)
你知道我也遇到了同样的问题,而且根据我的经验我唯一知道的是你可以使用jinternal框架并将其属性未修饰设置为true,然后根据你的要求添加自定义标题栏。