G
Guest
Gast
Hallo,
wenn ich meine Hauptfenstergröße per Maus ändere, dann spuckt mir die Zeile:
System.out.println(c.getWidth()); //works
tatsächlich in Echtzeit die Fensterbreite aus.
Habe analog "implements ComponentListener" auf mein aufpopendes Fenster "ListenerAufpoppendesFenster" angewandt, dort tut aber die Codezeile "System.out.println(c.getWidth());" nichts!
Wieso? Bzw. was muss ich tun, damit es läuft?
(Habe auch zusätzliche "extends JFrame" in die Zeile "class ListenerAufpoppendesFenster" eingefügt, half aber auch nicht.
Zweitens, dass aufpoppende Fenster soll sich hinter dem Hauptfenster befinden, wenn der Nutzer auf das Hauptfenster klickt, dummerweise bleibt das aufpoppende Fenster aber immmer im Vordergrund? Wie kann das gelöst werden?
wenn ich meine Hauptfenstergröße per Maus ändere, dann spuckt mir die Zeile:
System.out.println(c.getWidth()); //works
tatsächlich in Echtzeit die Fensterbreite aus.
Habe analog "implements ComponentListener" auf mein aufpopendes Fenster "ListenerAufpoppendesFenster" angewandt, dort tut aber die Codezeile "System.out.println(c.getWidth());" nichts!
Wieso? Bzw. was muss ich tun, damit es läuft?
(Habe auch zusätzliche "extends JFrame" in die Zeile "class ListenerAufpoppendesFenster" eingefügt, half aber auch nicht.
Zweitens, dass aufpoppende Fenster soll sich hinter dem Hauptfenster befinden, wenn der Nutzer auf das Hauptfenster klickt, dummerweise bleibt das aufpoppende Fenster aber immmer im Vordergrund? Wie kann das gelöst werden?
Code:
public class Hauptfenster extends JFrame implements ComponentListener {
...
public static void main(String[] args) {
...
}
Hauptfenster (String titel) {
...
//Beim Klick im Menü, erscheint ein aufpoppendes Fenster:
menuItemAufpoppendesFenster.addActionListener(new ListenerAufpoppendesFenster());
}
//das aufpoppende Fenster
class ListenerAufpoppendesFenster implements ComponentListener, ActionListener {
public void actionPerformed(ActionEvent e) {
JDialog jD = new JDialog(Hauptfenster.this,"neues Fenster", false); // modal
...
jD.setContentPane(...);
jD.setSize(500, 300);
jD.setLocationRelativeTo(Hauptfenster.this);
jD.setVisible(true);
}
public void componentResized(ComponentEvent arg0) {
Component c = arg0.getComponent();
System.out.println(c.getWidth()); //tut nichts?
}
public void componentMoved(ComponentEvent arg0) {
}
public void componentShown(ComponentEvent arg0) {
}
public void componentHidden(ComponentEvent arg0) {
}
}
//Listener des Hauptfensters, funktioniert
public void componentResized(ComponentEvent arg0) {
Component c = arg0.getComponent();
System.out.println(c.getWidth()); //works
}
public void componentMoved(ComponentEvent arg0) {
}
public void componentShown(ComponentEvent arg0) {
}
public void componentHidden(ComponentEvent arg0) {
}
}