Hallo zusammen,
ich komme gerade an einer Stelle in meinem Testprogramm nicht weiter. Ich möchte wohl Zugriff auf die Komponenten in der Methode init_comp() bekommen. Gibt es eine Möglichkeit direkt auf diese zuzugreifen ? Oder muss ich alle direkt hinter "private JLabel lbl_label;" aufführen ?
Worum es mir geht ist folgendes, ich möchte über Eventhandler diverse Komponenten verändern, z.B durch ein Button-Klick-Event einen Text in das JTextField einfügen oder die Hintergrundfarbe verändern.
Ich hoffe ich habe diesen Thread im richtigen Forenteil eröffnet.
Schonmal vielen Dank im Voraus.
Gruß
Jens
ich komme gerade an einer Stelle in meinem Testprogramm nicht weiter. Ich möchte wohl Zugriff auf die Komponenten in der Methode init_comp() bekommen. Gibt es eine Möglichkeit direkt auf diese zuzugreifen ? Oder muss ich alle direkt hinter "private JLabel lbl_label;" aufführen ?
Worum es mir geht ist folgendes, ich möchte über Eventhandler diverse Komponenten verändern, z.B durch ein Button-Klick-Event einen Text in das JTextField einfügen oder die Hintergrundfarbe verändern.
Java:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class TestGUI extends JFrame implements ActionListener {
private JLabel lbl_label;
//Konstruktor
public TestGUI()
{
super();
setTitle("Testen");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(init_comp()); //einfügen des JPanel
//pack();
setVisible(true);
}
public JPanel init_comp()
{
//Komponenten -
//Worum es geht !!
//Wie bekomme ich Zugriff auf diese Komponenten?
JPanel pane1 = new JPanel();
JTextField txt1 = new JTextField();
JLabel lbl1 = new JLabel("Textausgabe");
JButton btn1 = new JButton("Klick mich");
lbl_label = new JLabel("Text");
//Layout festlegen und Komponenten in Container einfügen
pane1.setLayout(new BorderLayout());
pane1.add("North", txt1);
pane1.add("Center", lbl1);
pane1.add("East", lbl_label);
pane1.add("South", btn1);
//Listener
btn1.addActionListener(this);
//Rückgabe
return pane1;
}
//Main-Methode
public static void main(String[] args) {
TestGUI test1 = new TestGUI();
}
//überschreiben der actionPerformed-Methode - ActionListener
@Override
public void actionPerformed(ActionEvent ae) {
//Testveränderungen
setTitle("Neuer Titel");
lbl_label.setText("geänderter Text");
}
}
Ich hoffe ich habe diesen Thread im richtigen Forenteil eröffnet.
Schonmal vielen Dank im Voraus.
Gruß
Jens
Zuletzt bearbeitet: