Hallo zusammen,
ich habe hier ein kleines Schnippsel einer Java-Applikation, die im Moment auf Linux getestet wird. Entwickelt wurde die Anwendung unter Windows. Dieses Beispiel hat unter Windows das richtige Verhalten. Wenn als erstes auf den linken Knopf gedrückt wird und dann auf den rechten, so ist der AWT Dialog vor dem AWT Window. Unter Linux ist es jedoch so, dass der AWT Dialog hinter dem AWT Window ist. Hat jemand von euch eine Idee wie es zu diesem Unterschied kommt?
Danke,
linuxguy
ich habe hier ein kleines Schnippsel einer Java-Applikation, die im Moment auf Linux getestet wird. Entwickelt wurde die Anwendung unter Windows. Dieses Beispiel hat unter Windows das richtige Verhalten. Wenn als erstes auf den linken Knopf gedrückt wird und dann auf den rechten, so ist der AWT Dialog vor dem AWT Window. Unter Linux ist es jedoch so, dass der AWT Dialog hinter dem AWT Window ist. Hat jemand von euch eine Idee wie es zu diesem Unterschied kommt?
Danke,
linuxguy
Java:
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Test {
public static void main(String[] args) {
final Frame fr = new Frame("MainFrame");
final Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
final java.awt.Point p = new java.awt.Point(dim.width / 3, dim.height /3);
fr.setLayout(new java.awt.GridLayout());
java.awt.Button but3 = new java.awt.Button("Open keyboard window");
but3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
final Window win = new Window(fr);
win.setBounds(p.x, p.y, p.x, p.y);
java.awt.Button but = new java.awt.Button("I'm keyboard -> close");
but.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
win.setVisible(false);
win.dispose();
}
});
win.add(but);
win.setVisible(true);
}
});
fr.add(but3);
java.awt.Button but2 = new java.awt.Button("Open confirm");
but2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
final Dialog diag = new Dialog(fr, "I'm 'confirm entry'", true);
diag.setBounds(p.x+30, p.y-20, p.x-60, p.y+40);
java.awt.Button but = new java.awt.Button("Close");
but.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
diag.setVisible(false);
diag.dispose();
}
});
diag.add(but);
diag.setVisible(true);
}
});
fr.add(but2);
fr.setBounds(0,0,dim.width,dim.height);
fr.setVisible(true);
}
}