Я пытаюсь отобразить два JFrames, по одному на каждом мониторе, и кажется, что код выводит неправильные вещи.Мой вопрос о границе похож на эти ...
Вопрос 1
Вопрос 2
Вопрос 3
За исключением моегоделать с кадрами JFrame, которые в основном переопределяются и отображаются пустыми.Пример кода ниже из одного из вопросов, которые я тестировал, чтобы убедиться, что это то, что я хотел, но JFrames не показывают ничего, как я хочу.Они пустые, хотя должны отображать значки.Код прост, так как я пытаюсь выяснить, почему JFrames становятся изменяемого размера и не выходят так, как они должны.
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() );
}
}
}