2つのJFrameを各モニタに1つ表示しようとしていますが、コードが間違ったものを出力しているようです。私の質問は私のものを除きQuestion 2
Question 3
Question 1
はJFrames基本的に上書きし、空白まで表示されているとしなければならない...これらに類似の境界線です。下記のサンプルコードは、私が望むものかどうかを調べるためにテストした質問の1つで、JFramesは何も表示されません。彼らはアイコンを表示するはずですが、空白です。私がJFramesがサイズ変更可能になった理由を理解しようとしているので、コードは裸であり、想定されているように終了しません。デュアルモニタシステムのJFrame
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Dual extends JFrame implements ActionListener, ChangeListener {
public Dual(String one) {
JFrame frame = new JFrame(one);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setResizable(false);
}
public static void showOnScreen(int screen, JFrame frame) {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
if(screen > -1 && screen < gs.length) {
gs[screen].setFullScreenWindow(frame);
} else if(gs.length > 0) {
gs[0].setFullScreenWindow(frame);
} else {
throw new RuntimeException("No Screens Found");
}
}
public static void main(String[] args) {
showOnScreen(1, new Dual("Test"));
showOnScreen(2, new Dual("1...2"));
GraphicsDevice[] devices = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();
for (int i = 0; i < devices.length; i++) {
System.out.println("Device " + i + " width: " + devices[ i ].getDisplayMode().getWidth());
System.out.println("Device " + i + " height: " + devices[ i ].getDisplayMode().getHeight());
}
}
}
コードブロックに一貫性のある論理インデントを使用してください。 –