Hallo allerseits,
es handelt sich wohl um ein Problem bezüglich Gültigkeitsbereich (Sichtbarkeit), also Zugreifbarkeit von Instanzvariablen.
Ausgegangen bin ich von einer Java-Tutorial Anwendung...JTabbedPaneDemo
die ich etwas erweitert habe, was bisher auch recht gut lief.
In einem einzelnen Tab meiner JTabbedPaneDemo10 ist eine kleine DB-Anwendung.
Ein insert von einem Person-Datensatz in eine MySQL-DB.
Das klappt auch gut.
Dann kam eine Idee: Vor dem Insert nochmal eine Sicherheitsabfrage
"Wollen Sie wirklich einen neuen Person-Datensatz in die DB einfügen?"
(Dafür wurde dann "class Dialog5 extends JDialog implements ActionListener{..}." dazu genommen.)
Ensprechend will ich dann innerhalb der
"public void actionPerformed(ActionEvent ev)" des Dialog5
auf die aktuell belegten Textfelder für den Person-Datensatz zugreifen.
Und das klappt nicht! Sie sind, egal was ich aktuell eintrage, mit dem initialen
Wert belegt, weil sie offenbar zu dem initial erzeugten JTabbedPaneDemo10-Objekt gehören.
Wie komme ich aus der "actionPerformed(ActionEvent ev)" des Dialog5
an die AKTUELLEN Textfelder-Inhalte aus JTabbedPaneDemo10?
Programmaufbau:
Innerhalb einer Quelldatei JTabbedPaneDemo10.java habe ich eine class für ein Dialog-Fenster
und eine class JTabbedPaneDemo10 für einen Jframe mit JTabbedPane.
In class JTabbedPaneDemo10 ist die main(...).
Ich vermute, dass ich eventuell Fehler im grundsätzlichen Aufbau gemacht habe.
Vielleicht darf der gewünschte Dialog5 nur als irgendeine Inner class
innerhalb class JTabbedPaneDemo10 implementiert werden?!
Ich danke für verständliche Hinweise.
Viele Grüße
tsitra
es handelt sich wohl um ein Problem bezüglich Gültigkeitsbereich (Sichtbarkeit), also Zugreifbarkeit von Instanzvariablen.
Ausgegangen bin ich von einer Java-Tutorial Anwendung...JTabbedPaneDemo
die ich etwas erweitert habe, was bisher auch recht gut lief.
In einem einzelnen Tab meiner JTabbedPaneDemo10 ist eine kleine DB-Anwendung.
Ein insert von einem Person-Datensatz in eine MySQL-DB.
Das klappt auch gut.
Dann kam eine Idee: Vor dem Insert nochmal eine Sicherheitsabfrage
"Wollen Sie wirklich einen neuen Person-Datensatz in die DB einfügen?"
(Dafür wurde dann "class Dialog5 extends JDialog implements ActionListener{..}." dazu genommen.)
Ensprechend will ich dann innerhalb der
"public void actionPerformed(ActionEvent ev)" des Dialog5
auf die aktuell belegten Textfelder für den Person-Datensatz zugreifen.
Und das klappt nicht! Sie sind, egal was ich aktuell eintrage, mit dem initialen
Wert belegt, weil sie offenbar zu dem initial erzeugten JTabbedPaneDemo10-Objekt gehören.
Wie komme ich aus der "actionPerformed(ActionEvent ev)" des Dialog5
an die AKTUELLEN Textfelder-Inhalte aus JTabbedPaneDemo10?
Programmaufbau:
Innerhalb einer Quelldatei JTabbedPaneDemo10.java habe ich eine class für ein Dialog-Fenster
und eine class JTabbedPaneDemo10 für einen Jframe mit JTabbedPane.
In class JTabbedPaneDemo10 ist die main(...).
Java:
class Dialog5 extends JDialog implements ActionListener{...
und eine class mit der main(...)
public class JTabbedPaneDemo10 extends JPanel implements ActionListener{...
usw. usw.
private static void createAndShowGUI(){
//Create and set up the window.
JFrame frame = new JFrame("JTabbedPaneDemo10");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Add content to the window.
frame.add(objJTPane, BorderLayout.CENTER);
frame.add(new JTabbedPaneDemo10(), BorderLayout.CENTER);
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
//Schedule a job for the event dispatch thread:
//creating and showing this application's GUI.
SwingUtilities.invokeLater(new Runnable(){
public void run(){
//Turn off metal's use of bold fonts
UIManager.put("swing.boldMetal", Boolean.FALSE);
createAndShowGUI();
}
});
}
Ich vermute, dass ich eventuell Fehler im grundsätzlichen Aufbau gemacht habe.
Vielleicht darf der gewünschte Dialog5 nur als irgendeine Inner class
innerhalb class JTabbedPaneDemo10 implementiert werden?!
Ich danke für verständliche Hinweise.
Viele Grüße
tsitra