Buttons über Textfeld beschriften

core_85

Mitglied
Hallo,

hab kleines Problem und zwar das ich Buttons umbenenne über ein neues erstelltes Textfeld.

Das Problem ist das er nicht den Button umbenennt der gedrückt wurde , sondern der Button den ihm angebe. In dem Fall bu[0] wird umbenannt. Danke

Java:
try {
					/**/	
			   
			   		System.out.println(GUI_backend.txt[1].getText() + "getext()");
			   			
					   int intern1 = Integer.parseInt(GUI_backend.txt[1].getText());
					   
					  			   
					    					  				   
					   final JButton bu[] = new JButton[intern1];
						  
						  for (int j = 0; j < intern1; j++) {
							  final JFrame btn_frame = new JFrame();
				        	  final JPanel btn_panel = new JPanel();
				        	  final JTextField btn_txt = new JTextField(20);
				        	  final JButton btn_btn = new JButton("Beschriftung");
							  
							   bu[j] = new JButton("ich bin button" + j);
							  
						   //front_GUI.panel[1].add(bu[i]);
							  
							// System.out.println(GUI.txt[1]);
						   
							  panel[1].add(bu[j]);
							  
							  bu[j].addActionListener(new ActionListener() {
						          public void actionPerformed(ActionEvent e) {
						        
						        	  /*statt sysout connection to databases*/
						        	  System.out.println(e.getActionCommand());
						        	 
						         	  
						        	  btn_frame.add(btn_panel);
						        	  btn_panel.add(btn_txt);
						        	  btn_panel.add(btn_btn);
						        	  
						        	  btn_frame.setSize(300, 200);
						        	  btn_frame.setVisible(true);
					                
					          }
				   	  });
						  btn_btn.addActionListener(new ActionListener() {
						          public void actionPerformed(ActionEvent e) {
						         
						        	  String inhalt = String.valueOf(btn_txt.getText());
						        	  bu[0].setText(inhalt);
						        	  btn_frame.setVisible(false);
						        	  
						          
						          }});
 

core_85

Mitglied
Das soll er ja selber mitbekommen welcher Button gedrückt wurde und genau diesen dann umbennen.
Frage bzw.Problem ist wie man das mit 2 ActionListener löst. ???:L
 

haui95

Bekanntes Mitglied
Java:
for (int j = 0; j < intern1; j++) {
}

Was ist das ? Wofür baust du in deinem Programm eine for-Schleife ein ? Meiner Meinung nach zu kompliziert. Vielleicht erklärst du noch einmal, was du genau machen möchtest.

Mein Vorschlag, falls ich dich richtig verstanden habe:

Java:
public class FooFoo extends JFrame implements ActionListener {

    JButton btn1, btn2;
    JTextField edit1;
    JPanel panel1;
 
    public FooFoo() {
        btn1 = new JButton("Button 1");
        btn1.addActionListener(this);

        btn2 = new JButton("Button 2");
        btn2.addActionListener(this);

        edit1 = new JTextField("");

        panel1 = new JPanel();

        super("Test");
        setSize(300,300);                                                  
        setLocationRelativeTo(null);                                    

        panel1.add(btn1);
        panel1.add(btn2) ;
        panel1.add(edit1);

        add(panel1);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }

   public void actionPerformed(ActionEvent evt) {
       if (evt.getSource == btn1) {
           btn1.setText(edit1.getText());
       } else {
           btn2.setText(edit1.getText());
       }
   }

Ich hoffe, ich habe dich richtig verstanden, dass du den Text eines Buttons auf Knopfdruck mit dem Inhalt eines Textfeldes ändern möchtest ;-)

MfG :)
 

tribalup

Bekanntes Mitglied
haui95; hat gesagt.:
Java:
public class FooFoo extends JFrame implements ActionListener {

    JButton btn1, btn2;
    JTextField edit1;
    JPanel panel1;
 
    public FooFoo() {
        btn1 = new JButton("Button 1");
        btn1.addActionListener(this);

        btn2 = new JButton("Button 2");
        btn2.addActionListener(this);

        edit1 = new JTextField("");

        panel1 = new JPanel();

        super("Test");
        setSize(300,300);                                                  
        setLocationRelativeTo(null);                                    

        panel1.add(btn1);
        panel1.add(btn2) ;
        panel1.add(edit1);

        add(panel1);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }

   public void actionPerformed(ActionEvent evt) {
       if (evt.getSource == btn1) {
           btn1.setText(edit1.getText());
       } else {
           btn2.setText(edit1.getText());
       }
   }

Das sieht schonmal besser aus. Du solltest dich dennoch mit dem Thema Listener noch einmal ausführlich beschäftigen.
Du gibst dem btn_btn(wow ich würd durcheinander kommen) einen Listener und erwartest dann, dass ein anderer Button seinen Text ändert wenn dieser gedrückt wird?
 

haui95

Bekanntes Mitglied
Ich muss ja nicht für jeden Button die actionPerformed() - Methode überschreiben. Ich habe einfach, dadurch dass ich das Interface implementiert habe, jeden Button über die Variable this einen ActionListener hinzugefügt und benutze dabei einfach nur eine actionPerformed() - Methode. Das Unterscheiden der beiden Buttons mache ich mit einer Verzweigung innerhalb der zu überschreibenden Methode des ActionListeners.

Müsste funktionieren !?

MfG
 

tribalup

Bekanntes Mitglied

core_85

Mitglied
hallo,

Java:
public void actionPerformed(ActionEvent evt) {
       if (evt.getSource == btn1) {
           btn1.setText(edit1.getText());
       } else {
           btn2.setText(edit1.getText());
       }
   }

das genau was ich gesucht habe, nur das ich eine arraylist btn habe. wenn ich

Java:
if (evt.getSource == btn1[i]) {
           btn1[i].setText(edit1.getText());

versuche macht der das net.
 

Mujahiddin

Top Contributor
Ganz ehrlich... Ich verstehe nur ansatzweise, was du willst.
Dein Code ist schlecht formatiert und was du versuchst, ist mir auch ein Rätsel.

Ich würde schätzen du meinst es in etwa so:
Du hast zwei Button-Arrays, wenn man auf ein Button des einen Arrays klickt soll es den Text des Buttons gleichen Indexes im anderen Array übernehmen.

Also in etwa sowas:
Java:
final int length = 5;
final JButton[] buttons1 = new JButton[length];
final JButton[] buttons2 = new JButton[length];
final ActionListener action1 = new ActionListener(){
    @Override public void actionPerformed(ActionEvent evt) {
        for(int i=0; i<length; i++)
            if(buttons1[i].equals(evt.getSource()))
                buttons1[i].setText(buttons2[i].getText());
    }
}
final ActionListener action2 = new ActionListener(){
    @Override public void actionPerformed(ActionEvent evt) {
        for(int i=0; i<length; i++)
            if(buttons2[i].equals(evt.getSource()))
                buttons2[i].setText(buttons1[i].getText());
    }
}
for(int i=0; i<length; i++){
    buttons1[i] = new JButton("Erste Buttonreihe, Button No. " + i);
    buttons1[i].addActionListener(action1);
    buttons2[i] = new JButton("Zweite Buttonreihe, Button No. " + i);
    buttons2[i].addActionListener(action2);
}
 

Crian

Top Contributor
Wenn man vermeiden möchte, Objekte wie Buttons nur für den Actionlistener als Membervariablen zu führen, kann man übrigens auch
Code:
button.setName(EINDEUTIGER_NAME)
verwenden und im Listener dann mit

Java:
public void actionPerformed(ActionEvent event) {
        JComponent component = (JComponent) event.getSource();
        String name = component.getName();

        switch (name) {
            case EINDEUTIGER_NAME:

arbeiten. Hier, wo du nachträglich die Beschriftung änderst, brauchst du das Objekt natürlich trotzdem.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Buttons-die Wahrheit über sie Java Basics - Anfänger-Themen 11
L über buttons und booleans Java Basics - Anfänger-Themen 2
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
R Buttons ohne Funktion Java Basics - Anfänger-Themen 2
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
D Custom Buttons oder Custom Combobox Java Basics - Anfänger-Themen 30
A Aktualisierung eines Buttons Java Basics - Anfänger-Themen 18
S Runde Buttons erstellen Java Basics - Anfänger-Themen 10
J Input/Output Input Buttons Html mit JSP Java Basics - Anfänger-Themen 3
F Mehrere Buttons mit einem ActionListener abdecken Java Basics - Anfänger-Themen 24
T Buttons... Java Basics - Anfänger-Themen 1
U Javafx Array aus Buttons Java Basics - Anfänger-Themen 2
L Buttons außerhalb der sichtbaren Activity Java Basics - Anfänger-Themen 8
E Hilfe bei Buttons (GUI) Java Basics - Anfänger-Themen 3
D Mit Buttonklick Farbe der anderen Buttons verändern? Java Basics - Anfänger-Themen 2
L Buttons ansprechen Java Basics - Anfänger-Themen 1
F Mehrfaches Clicken eines Buttons Java Basics - Anfänger-Themen 1
H Buttons zeigen keine Reaktion Java Basics - Anfänger-Themen 6
E Wenn i (for-Loop) bestimmter Wert, dann neue Zeile eines Buttons Java Basics - Anfänger-Themen 7
H Java Buttons ausblenden bei inaktivität Java Basics - Anfänger-Themen 1
A Nach Druck eines Buttons reagieren andere Button nicht Java Basics - Anfänger-Themen 3
R Problem mit ActionListener für Buttons Java Basics - Anfänger-Themen 5
D Variable Anzahl an Buttons per Schleife Java Basics - Anfänger-Themen 7
U Best Practice Buttons sollen ÜBER Labeln liegen, also quasi im Vordergrund. WIE? Java Basics - Anfänger-Themen 4
TheSorm Anzeige fehler eines Buttons Java Basics - Anfänger-Themen 3
M Icons auf Buttons Java Basics - Anfänger-Themen 9
S Variablen Variable bei drücken eines Buttons ändern Java Basics - Anfänger-Themen 1
M Buttons funktionieren nicht Java Basics - Anfänger-Themen 4
lord239123 Buttons werden nicht angezeigt Java Basics - Anfänger-Themen 3
D Erste Schritte Buttons mit actionlistener Problem Java Basics - Anfänger-Themen 3
M Größe eines Buttons festlegen Java Basics - Anfänger-Themen 4
W Buttons sollen bei Mausklick einen String schreiben Java Basics - Anfänger-Themen 11
J Aktivierung eines Buttons nach Eingabe in Textfeldern (DocumentListener) Java Basics - Anfänger-Themen 4
O Position des Buttons wird nicht geändert.. Java Basics - Anfänger-Themen 6
K Erste Schritte GUI - Hintergrundbild und darauf Buttons Java Basics - Anfänger-Themen 2
J BlueJ canvas Buttons adden? Java Basics - Anfänger-Themen 2
U Methoden Methode zur Erstellung von Buttons Java Basics - Anfänger-Themen 11
H Icons in Buttons resizable? Java Basics - Anfänger-Themen 3
L OOP Buttons mit Pfeilen miteinander verbinden Java Basics - Anfänger-Themen 5
A Dropdown Liste - mit je zwei Verlinkungen und zwei ausführende Buttons Java Basics - Anfänger-Themen 3
I Dynamisch erzeugten Buttons Methoden zuweisen Java Basics - Anfänger-Themen 6
P Listener für mehrere Buttons Java Basics - Anfänger-Themen 3
S Hilfe bei Buttons Java Basics - Anfänger-Themen 2
S Erste Schritte ActionListener auf Buttons einrichten Java Basics - Anfänger-Themen 3
B Die Hintergrundfarbe eines deaktivierten buttons ändern? Java Basics - Anfänger-Themen 4
SheldoN Töne abspielen auf verschiedenen Buttons Java Basics - Anfänger-Themen 17
J durch drücken eines buttons text in einer textdatei speichern Java Basics - Anfänger-Themen 2
G MouseListener für mehrere Buttons Java Basics - Anfänger-Themen 11
Fab1 Buttons auf ein Hintergrundbild(JFrame) setzen Java Basics - Anfänger-Themen 24
H Methode aufrufen beim Drücken eines Buttons im Boxlayout Java Basics - Anfänger-Themen 6
M Tabelle mit Buttons Java Basics - Anfänger-Themen 24
M Variablen via actionPerformed mit Buttons ändern Java Basics - Anfänger-Themen 7
K Durch ändern eines Buttons String füllen Java Basics - Anfänger-Themen 14
J Buttons Java Basics - Anfänger-Themen 19
G Buttons in ein Array umformen Java Basics - Anfänger-Themen 11
S Buttons übereinander legen - Reihenfolge Java Basics - Anfänger-Themen 2
M Buttons erscheinen erst bei Mouse-Over Java Basics - Anfänger-Themen 8
B Buttons Java Basics - Anfänger-Themen 9
T Buttons (auf denen bilder sind) random vertauschen Java Basics - Anfänger-Themen 11
1 Menü mit Buttons erstellen Java Basics - Anfänger-Themen 10
M Durchsichtige Buttons Java Basics - Anfänger-Themen 12
P OnClickListener für mehrere Buttons Java Basics - Anfänger-Themen 5
U Buttons einfügen (Leiste verschwunden!?) Java Basics - Anfänger-Themen 2
M Gui - Probleme mit Buttons Java Basics - Anfänger-Themen 4
C Swing, Buttons Wert zuweisen Java Basics - Anfänger-Themen 3
E Android: OnClickListener erkennt Buttons nicht Java Basics - Anfänger-Themen 7
E Buttons in Android generieren? Java Basics - Anfänger-Themen 4
D Link over Buttons Java Basics - Anfänger-Themen 4
B Identifikation eines einzelnen Buttons aus mehreren Buttons per Schleife erzeugten Java Basics - Anfänger-Themen 4
Nicer Radio Buttons Gruppe Java Basics - Anfänger-Themen 2
G getControlPanelComponent JMF Buttons verstecken? Java Basics - Anfänger-Themen 7
K Buttons Funktionieren Nicht!!! Java Basics - Anfänger-Themen 8
manunana89 2 ActionListener auf 2 Buttons??? Java Basics - Anfänger-Themen 6
Mike90 verschieben von Buttons, ... Java Basics - Anfänger-Themen 18
F Buttons und Aktionen Java Basics - Anfänger-Themen 20
M dynamisches Clipboard mit Buttons Java Basics - Anfänger-Themen 5
H Buttons um sprache zu ändern. Java Basics - Anfänger-Themen 6
B Calculator - Buttons zusammenfassen Java Basics - Anfänger-Themen 8
0 Buttons mit Absatz Java Basics - Anfänger-Themen 6
B Buttons erstellen! Wie? Java Basics - Anfänger-Themen 2
G Buttons mit MouseOver Java Basics - Anfänger-Themen 5
M "Selbst erstellte" Buttons nicht sichtbar. Java Basics - Anfänger-Themen 20
Mörmel Variable Anzahl von Buttons erzeugen Java Basics - Anfänger-Themen 6
K Fenster mit Buttons hin und her schieben ? Java Basics - Anfänger-Themen 23
A in jTextField mit Hilfe von Buttons schreiben Java Basics - Anfänger-Themen 2
J Buttons Java Basics - Anfänger-Themen 3
M Buttons auf allen Masken Java Basics - Anfänger-Themen 4
G Alle Buttons in einer For Schleife ändern Java Basics - Anfänger-Themen 5
G Nicht benannte Buttons - Wenn gedrückt > Action Java Basics - Anfänger-Themen 24
T Buttons Resetten Java Basics - Anfänger-Themen 2
G Grafische Oberfläche mit Buttons und Actionlistener? Java Basics - Anfänger-Themen 27
D Buttons gehen trotz enebled(false) Java Basics - Anfänger-Themen 8
P Buttons Java Basics - Anfänger-Themen 6
G Panels und Buttons Java Basics - Anfänger-Themen 5
P Eigenschaften eines Buttons ändern Java Basics - Anfänger-Themen 6
M Buttons Java Basics - Anfänger-Themen 7
N Größe von Buttons Java Basics - Anfänger-Themen 3
D MouseLister und Identifikation des Event - Buttons Java Basics - Anfänger-Themen 4
T ActionListener zu Buttons dynamisch zuordnen Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben