我正在使用Netbeans做一些Java,我想让我的应用程序和它的帧全屏。问题是,它全屏但是然后,因为我的框架没有那么大,所以没有填满屏幕,check image如果你不明白。它必须使面板成为用户的分辨率并将其放在中心位置。
我的代码如下
public class frmMenu extends javax.swing.JFrame {
public frmMenu() {
initComponents();
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setUndecorated(true);
}
答案 0 :(得分:2)
这在Java中并不是最简单的。需要处理很多细微差别。看看这个:Post
这将致电:
GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
device.setFullScreenWindow(this);
可以挂钩底层操作系统以获得全屏支持,而不仅仅是制作一个大窗口。
答案 1 :(得分:1)
只是使用工具包来获取屏幕大小: http://docs.oracle.com/javase/7/docs/api/java/awt/Toolkit.html#getScreenSize()
int width = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
int height = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
setSize(width,height);
setUndecorated(true);
更好的方法:
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int width = (int)dim.getWidth();
int height = (int)dim.getHeight();
setSize(width,height);
setUndecorated(true);
编辑: 对于良好的头寸设置:
setLocation(0,0);
我猜它是画面上的图像,你应该缩放它。 设置位置后,它将显示在左上角。 我不知道你如何渲染图像,解决这个问题你提供了更多的源代码 对于创建图形,我建议使用比MS绘画更好的东西;)
编辑(2): 重写:
getContentPane().add(panMenu);
要:
getContentPane().add(panMenu,BorderLayout.CENTER);
删除行:
panMenu.setBounds(0, -20, 580, 630);
并确保你有:
setLayout(new BorderLayout());
表示框架 使用图形界面进行布局在绝对定位方面是不好的。因此,由于子面板中的绝对定位,它可能无法完全纠正它