Ich bin beauftragt, eine SWT-Shell zu öffnen, so dass es mehrere Monitore überspannt.SWT Shell-Größe einstellen, um mehrere Monitore zu überbrücken
So verlasse ich mich auf shell.setLocation(x, y)
, um die Shell an dem angegebenen Speicherort und shell.setSize(width, height)
zu öffnen, um die Dimension festzulegen.
Wenn ich eine Breite verwende, die größer als ein einzelner Monitor ist (z. B. 3840 für zwei Monitore), wird die Shell irgendwie so angepasst, dass sie genau einem Monitor entspricht (das ist 1920).
passiert unter Windows und Linux.
Minimal Beispiel:
public class ShellSample {
public static void main(final String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display, SWT.NO_TRIM);
final Window win = new ApplicationWindow(shell) {
@Override
protected void configureShell(final Shell shell) {
shell.setLocation(0, 0);
shell.setSize(3840, 100);
}
};
win.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
shell.dispose();
display.dispose();
}
}
Bitte senden Sie eine [MCVE] (https://stackoverflow.com/help/mcve), das Ihr Problem zeigt. – Baz
@Baz Dank - Codierung der MCVE hat ergeben, dass das Problem überhaupt nicht mit SWT zusammenhängt. Kodierung einer E4-Anwendung, also passiert wahrscheinlich schwarze Magie ... – leftbit