问题
我将很快做一个项目,我将不得不在其中使用全屏模式。
它将在窗口中绘制一些图形。如果我使用JFrame或类似的东西,这将是方便的。
我不知道屏幕的最终分辨率是多少。请告诉我图片是否会自动重新缩放?
JFrame jf = new JFrame();
jf.setSize(1650,1080);
//make it fullscreen;
//now is everything is going to be rescaled so it looks like the original?
#1 热门回答(169 赞)
加:
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setUndecorated(true);
frame.setVisible(true);
#2 热门回答(32 赞)
如果你想将画面置于全屏模式(如全屏幕电影),请检查这些答案。
如何在OSX上使用Java进行全屏显示
Java setFullScreenWindow()保持领先
classesjava.awt.GraphicsEnvironment和java.awt.GraphicsDevice用于在一个屏幕(dispositive)上以全屏模式放置应用程序。
例如。:
static GraphicsDevice device = GraphicsEnvironment
.getLocalGraphicsEnvironment().getScreenDevices()[0];
public static void main(String[] args) {
final JFrame frame = new JFrame("Display Mode");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setUndecorated(true);
JButton btn1 = new JButton("Full-Screen");
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
device.setFullScreenWindow(frame);
}
});
JButton btn2 = new JButton("Normal");
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
device.setFullScreenWindow(null);
}
});
JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER));
panel.add(btn1);
panel.add(btn2);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
#3 热门回答(9 赞)
使用setExtendedState(int state),其中state为JFrame.MAXIMIZED_BOTH。