Hallo,
hoffentlich kann hier jemand durchblicken und mir helfen.
Also... ich erzeuge eine Instanz von der Klasse JInternalFrame.
Nun möchte ich, dass wenn es über das Kreuz bzw. den Button geschlossen wird
eine entsprechende Meldung über die Konsole ausgibt.
Mit dem Button geht es wunderbar aber leider nicht mit dem X.
Wenn ich aber
mit kleinem i beginne, also
dann gibt es nach dem schliessen über Button oder X, eine Endlosschleife-Meldung
und in beiden Fällen erscheint nur die Meldung vom X also "Geschlossen durch X: " danach:
Wo liegt denn der Fehler?
Ich kann es nicht finden!
Hier der Code in kurzform!
Danke schonmal im Voraus.
hoffentlich kann hier jemand durchblicken und mir helfen.
Also... ich erzeuge eine Instanz von der Klasse JInternalFrame.
Nun möchte ich, dass wenn es über das Kreuz bzw. den Button geschlossen wird
eine entsprechende Meldung über die Konsole ausgibt.
Mit dem Button geht es wunderbar aber leider nicht mit dem X.
Wenn ich aber
Code:
InternalFrameClosed
Code:
internalFrameClosed
und in beiden Fällen erscheint nur die Meldung vom X also "Geschlossen durch X: " danach:
Code:
Geschlossen durch X: javax.swing.event.InternalFrameEvent[INTERNAL_FRAME_CLOSED] on eingabeFormular[** Hier kommen die Formulareigenschaften **]
at sun.nio.cs.SingleByteEncoder.encodeArrayLoop(Unknown Source)
at sun.nio.cs.SingleByteEncoder.encodeLoop(Unknown Source)
at java.nio.charset.CharsetEncoder.encode(Unknown Source)
at sun.nio.cs.StreamEncoder.implWrite(Unknown Source)
at sun.nio.cs.StreamEncoder.write(Unknown Source)
at java.io.OutputStreamWriter.write(Unknown Source)
at java.io.BufferedWriter.flushBuffer(Unknown Source)
at java.io.PrintStream.write(Unknown Source)
at java.io.PrintStream.print(Unknown Source)
at java.io.PrintStream.println(Unknown Source)
at eingabeFormular$xSchliessen.internalFrameClosed(eingabeFormular.java:904)
und X-mal
at javax.swing.JInternalFrame.fireInternalFrameEvent(Unknown Source)
at javax.swing.JInternalFrame.dispose(Unknown Source)
at eingabeFormular.allesSchliessen(eingabeFormular2.java:918)
at eingabeFormular$xSchliessen.internalFrameClosed(eingabeFormular.java:905)
Wo liegt denn der Fehler?
Ich kann es nicht finden!
Hier der Code in kurzform!
Code:
public class eingabeFormular extends JInternalFrame{
public eingabeFormular() {
super();
initialize();
this.setVisible(true);
}
private void initialize() {
this.setSize(1000, 740);
this.setTitle("Eingabe Formular");
this.setResizable(true);
this.setMaximizable(true);
this.setIconifiable(true);
this.setClosable(true);
this.setContentPane(getHaputPanel());
this.addInternalFrameListener(new xSchliessen());
}
/* Komponenten werden durch Methoden erzeugt
unter anderem der SchliessButton */
private JButton getSchliessButton() {
if (schliessButton == null) {
schliessButton = new JButton(new ImageIcon("D:\\Schulung\\icon\\button_silver.png"));
schliessButton.setRolloverIcon(new ImageIcon("D:\\Schulung\\icon\\button_red.jpg"));
schliessButton.setPressedIcon(new ImageIcon("D:\\Schulung\\icon\\button_green.jpg"));
schliessButton.setText("Schliessen");
schliessButton.setBorderPainted(false);
schliessButton.setContentAreaFilled(false);
schliessButton.setFocusPainted(false);
schliessButton.setVerticalTextPosition(SwingConstants.CENTER);
schliessButton.setHorizontalTextPosition(SwingConstants.CENTER);
schliessButton.addActionListener(new schliessButtonEFrm());
}
return schliessButton;
}
private JPanel getHaputPanel() {
if (hauptPanel == null) {
****** Hier werden die Komponenten hinzugefügt und positioniert.
}
return hauptPanel;
}
class xSchliessen extends InternalFrameAdapter {
public void InternalFrameClosed(InternalFrameEvent e) {
Zeile 904 System.out.println("Geschlossen durch X: " + e);
Zeile 905 allesSchliessen();
}
}
class schliessButtonEFrm implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println("Geschlossen durch Button: " + e);
allesSchliessen();
}
}
public void allesSchliessen() {
this.setVisible(false);
Zeile 908 this.dispose();
}
}
Danke schonmal im Voraus.