Ich brauche wieder Hilfe!!!
Frage 1:<BR>
Meine "Test_Menu" Klasse wird in der "Test_Frame" Klasse implementiert, und von dieser Klasse möchte ich auf den "statusBar" der in der "Test_Frame" definiert wird, zugreifen d.h. den Inhalt verändern(andere Text schreiben) wenn ein Menü Eintrag ausgewählt wurde.<BR> Mein "statusBar" Inhalt wurde jedoch nicht verändert wenn der Menü Eintrag ausgewählt wurde s. Zeile A.
Frage 2:<BR>
Das gleiche Szenario wie in der Frage 1<BR>
Mein "JRadioButton" sollte meiner Applikation neuen Look&Feel verpassen, wenn er aktiviert wird passiert folgendes: neue Look&Feel wurde nur der "Test_Menu" Klasse vergeben, die "Test_Frame" Klasse bleibt jedoch unverändert.<BR>
Ich möchte aber das die ganze Applikation einen neuen L&F übernimmt. s. Zeile B.
PS.<BR>
Folgendes habe ich ausprobiert:
Wenn die ganze Syntax "Test_Menu" Klasse, in die "Test_Frame" Klasse eingesetzt wird funktioniert auch alles.
<B>Test_Frame</B> SYNTAX<BR>
<PRE>
public class Test_Frame extends JFrame {
Test_Menu menu = new Test_Menu();
JLabel statusBar = new JLabel();
.
.
public Test_Frame() {
.
.
this.statusBar.setText(" Status");
this.getContentPane().add(menu, BorderLayout.NORTH);
this.getContentPane().add(statusBar, BorderLayout.SOUTH);
}
}
</PRE>
<B>Test_Menu</B> SYNTAX<BR>
<PRE>
public class Test_Menu extends JMenuBar {
static String motif = "com.sun.java.swing.plaf.motif.MotifLookAndFee l";
static String win = "com.sun.java.swing.plaf.windows.WindowsLookAndFee l";
.
.
public Test_Menu() {
.
.
menuItem1.setMnemonic('N');
menuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e)
{ menuItem1_actionPerformed(e); }
});
radioButton2.setMnemonic('o');
radioButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e)
{ radioButton2_actionPerformed(e); }
});
.
.
.
}
<P>
<B> //Zeilen A. Behandle Menüeintrag Datei/Neu</B>
void menuItem1_actionPerformed(ActionEvent e) {
Test_Frame frame = new Test_Frame();
frame.statusBar.setText(" TEST ");
}
</P>
<B> //Zeilen B. Behandle Menüeintrag Ansicht/Motif</B>
void radioButton2_actionPerformed(ActionEvent e) {
try
{ UIManager.setLookAndFeel(motif); }
catch(Exception exc)
{ System.err.println("Error loading L&F \n" + exc); }
SwingUtilities.updateComponentTreeUI(this);
}
.
.
.
</PRE>
Frage 1:<BR>
Meine "Test_Menu" Klasse wird in der "Test_Frame" Klasse implementiert, und von dieser Klasse möchte ich auf den "statusBar" der in der "Test_Frame" definiert wird, zugreifen d.h. den Inhalt verändern(andere Text schreiben) wenn ein Menü Eintrag ausgewählt wurde.<BR> Mein "statusBar" Inhalt wurde jedoch nicht verändert wenn der Menü Eintrag ausgewählt wurde s. Zeile A.
Frage 2:<BR>
Das gleiche Szenario wie in der Frage 1<BR>
Mein "JRadioButton" sollte meiner Applikation neuen Look&Feel verpassen, wenn er aktiviert wird passiert folgendes: neue Look&Feel wurde nur der "Test_Menu" Klasse vergeben, die "Test_Frame" Klasse bleibt jedoch unverändert.<BR>
Ich möchte aber das die ganze Applikation einen neuen L&F übernimmt. s. Zeile B.
PS.<BR>
Folgendes habe ich ausprobiert:
Wenn die ganze Syntax "Test_Menu" Klasse, in die "Test_Frame" Klasse eingesetzt wird funktioniert auch alles.
<B>Test_Frame</B> SYNTAX<BR>
<PRE>
public class Test_Frame extends JFrame {
Test_Menu menu = new Test_Menu();
JLabel statusBar = new JLabel();
.
.
public Test_Frame() {
.
.
this.statusBar.setText(" Status");
this.getContentPane().add(menu, BorderLayout.NORTH);
this.getContentPane().add(statusBar, BorderLayout.SOUTH);
}
}
</PRE>
<B>Test_Menu</B> SYNTAX<BR>
<PRE>
public class Test_Menu extends JMenuBar {
static String motif = "com.sun.java.swing.plaf.motif.MotifLookAndFee l";
static String win = "com.sun.java.swing.plaf.windows.WindowsLookAndFee l";
.
.
public Test_Menu() {
.
.
menuItem1.setMnemonic('N');
menuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e)
{ menuItem1_actionPerformed(e); }
});
radioButton2.setMnemonic('o');
radioButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e)
{ radioButton2_actionPerformed(e); }
});
.
.
.
}
<P>
<B> //Zeilen A. Behandle Menüeintrag Datei/Neu</B>
void menuItem1_actionPerformed(ActionEvent e) {
Test_Frame frame = new Test_Frame();
frame.statusBar.setText(" TEST ");
}
</P>
<B> //Zeilen B. Behandle Menüeintrag Ansicht/Motif</B>
void radioButton2_actionPerformed(ActionEvent e) {
try
{ UIManager.setLookAndFeel(motif); }
catch(Exception exc)
{ System.err.println("Error loading L&F \n" + exc); }
SwingUtilities.updateComponentTreeUI(this);
}
.
.
.
</PRE>
Comment