-2
私はフルスクリーンウィンドウを使用するか、通常のJFrameウィンドウを使用するかを選択できるクラスを作成しようとしていました。フルスクリーンモードを作成する際の問題
public class Frame extends JFrame {
boolean fse = false;
int fsm = 0;
GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[1];
public Frame(String title, int width, int height) {
setTitle(title);
setSize(width, height);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
}
private void checkFullscreenMode() {
switch(fsm) {
case 0:
setUndecorated(false);
System.out.println("No Fullscreen");
break;
case 1:
setUndecorated(true);
setExtendedState(JFrame.MAXIMIZED_BOTH);
break;
case 2:
setUndecorated(true);
device.setFullScreenWindow(this);
break;
}
}
public void setFullscreenMode(int fsnm) {
fse = true;
if(fsm <= 2) {
this.fsm = fsnm;
}
else {
System.err.println("Error: Mode " + fsnm + " is not Supported!");
}
}
}
私は、メソッドを呼び出すsetFullscreenMode試したとき、それは動作しません:ここではコードです。私が選んだモードにかかわらず、1280 x 720のフレームを私にくれました。ここで私はそれを呼ばれる方法は次のとおりです。私はあなたがcheckFullscreenMode()
を呼び出していないことに気づい
public class Main {
public static void main(String[] args) {
Frame frame = new Frame("TheDlooter", 1280, 720);
frame.setFullscreenMode(1);
frame.setVisible(true);
}
}
:ここ
は、作業コードです。 2つのサイズのパラメータを持たない場合、エラーが発生します。 –
コンストラクタ識別子を 'public Frame(String title){'に変更します。 – rdonuk
答えにコンストラクタを追加しました。 – rdonuk