X
xtreme
Gast
Hallo,
ich versuche gerade eine MDI Anwendung mit Java nachzubilden. Dabei benutze ich JDesktopPane und JInternalFrame. Mir scheint das in Java aber nicht ganz so einfach und durchdacht zu sein, wie mans ausm .net kennt. Daher nun zwei Fragen an euch:
1. Meine Klasse ist von JInternalFrame abgeleitet. In diesem Fenster habe ich drei Button und diese mit einem ActionListener ausgestattet. Wenn ich aus einem anderen JInternalFrame komme, muss ich immer erst einmal auf das Fenster klicken, bevor ich dann die Button benutzen kann. Klicke ich direkt auf die Button, so passiert nichts und das Fenster wird erstmal aktiv gesetzt. Das ist natürlich lästig, wenn man zweimal klicken muss um die Aktion des Buttons auszuführen. Gibt es da irgendwie ne andere Lösung, dass die Button sofort ausgewertet werden?
Momentan löse ich das so, dass ich ein Maus Event auswerte, wenn die Maus über dem Fenster ist, und das Fenster dann direkt aktiv setze (setSelected(true)). Aber das ist nicht wirklich ne schöne Lösung. Also gibts alternativen?
2. JInternalFrame wird direkt von JComponent abgeleitet und bietet daher nicht ganz die gleichen Möglichkeiten wie ein JFrame. Nun möchte ich aber in einem zweiten Fall wissen, wenn ein Fenster aktiviert worden ist. Ein JFrame kann ich mit einem WindowListener ausstatten und dort das entsprechende Event abfangen. Das ist leider in JInternalFrame nicht vorhanden. Gibt es da ne Möglichkeit ein Event bei Aktivierung irgendwie auszulösen?
Danke für eure Tipps!
ich versuche gerade eine MDI Anwendung mit Java nachzubilden. Dabei benutze ich JDesktopPane und JInternalFrame. Mir scheint das in Java aber nicht ganz so einfach und durchdacht zu sein, wie mans ausm .net kennt. Daher nun zwei Fragen an euch:
1. Meine Klasse ist von JInternalFrame abgeleitet. In diesem Fenster habe ich drei Button und diese mit einem ActionListener ausgestattet. Wenn ich aus einem anderen JInternalFrame komme, muss ich immer erst einmal auf das Fenster klicken, bevor ich dann die Button benutzen kann. Klicke ich direkt auf die Button, so passiert nichts und das Fenster wird erstmal aktiv gesetzt. Das ist natürlich lästig, wenn man zweimal klicken muss um die Aktion des Buttons auszuführen. Gibt es da irgendwie ne andere Lösung, dass die Button sofort ausgewertet werden?
Momentan löse ich das so, dass ich ein Maus Event auswerte, wenn die Maus über dem Fenster ist, und das Fenster dann direkt aktiv setze (setSelected(true)). Aber das ist nicht wirklich ne schöne Lösung. Also gibts alternativen?
2. JInternalFrame wird direkt von JComponent abgeleitet und bietet daher nicht ganz die gleichen Möglichkeiten wie ein JFrame. Nun möchte ich aber in einem zweiten Fall wissen, wenn ein Fenster aktiviert worden ist. Ein JFrame kann ich mit einem WindowListener ausstatten und dort das entsprechende Event abfangen. Das ist leider in JInternalFrame nicht vorhanden. Gibt es da ne Möglichkeit ein Event bei Aktivierung irgendwie auszulösen?
Danke für eure Tipps!