Verständnisproblem - Vertauschung von Text in JTextField

tonak

Grünschnabel
Hallo,

ich habe noch ein grösseres Verständnisproblem wie man Zugriffe sinnvoll realisiert, daher dieses kleine "Vertauschungs-Programm", es wäre sehr nett, wenn jemand von Euch mir den fehlenden Teil ergänzen könnte.

Oder mache ich einen kompletten Denkfehler und man sollte das Programm ganz anders aufbauen (wie und warum?), danke.

So, dann mal los:



// vertauschung.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class vertauschung
extends JFrame
implements ActionListener
{
public vertauschung()
{
super("JTextField");
Container cont = getContentPane();
cont.setLayout(new FlowLayout());

JTextField einaus1, einaus2, einaus3, einaus4;
einaus1 = new JTextField("Ich will zu einaus3");
einaus1.addActionListener(this);
cont.add(einaus1);
einaus2 = new JTextField("Ich will zu einaus4");
einaus2.addActionListener(this);
cont.add(einaus2);
einaus3 = new JTextField("Ich will zu einaus1");
einaus3.addActionListener(this);
cont.add(einaus3);
einaus4 = new JTextField("Ich will zu einaus2");
einaus4.addActionListener(this);
cont.add(einaus4);
}

public void actionPerformed(ActionEvent event)
{
// Wenn die Enter-Taste gedrückt wird
// sollen die Vertauschungen stattfinden.
// Ist das alles soweit richtig aufgebaut?
// Wenn ja, wie würde der richtige Code
// für die Vertauschungen hier aussehen?
}

public static void main (String[] args)
{
vertauschung frame = new vertauschung();
frame.setLocation(50,50);
frame.setSize(500,100);
frame.setVisible(true);
}
}
 
Das Problem hat sich erledigt... hier zur Vollständigkeit die Lösung:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class vertauschung
extends JFrame
implements ActionListener
{
// Hier müssen die Textfelder bekannt gemacht werden...
JTextField einaus1, einaus2, einaus3, einaus4;
public vertauschung()
{
super("JTextField");
Container cont = getContentPane();
cont.setLayout(new FlowLayout());


einaus1 = new JTextField("Ich will zu einaus3");
einaus1.addActionListener(this);
cont.add(einaus1);
einaus2 = new JTextField("Ich will zu einaus4");
einaus2.addActionListener(this);
cont.add(einaus2);
einaus3 = new JTextField("Ich will zu einaus1");
einaus3.addActionListener(this);
cont.add(einaus3);
einaus4 = new JTextField("Ich will zu einaus2");
einaus4.addActionListener(this);
cont.add(einaus4);
}

public void actionPerformed(ActionEvent event)
{
// Wenn die Enter-Taste gedrückt wird
// sollen die Vertauschungen stattfinden.
// Ist das alles soweit richtig aufgebaut?
// Wenn ja, wie würde der richtige Code
// für die Vertauschungen hier aussehen?
String tausch = einaus1.getText();
einaus1.setText(einaus3.getText());
einaus3.setText(tausch);
tausch = einaus2.getText();
einaus2.setText(einaus4.getText());
einaus4.setText(tausch);
}

public static void main (String[] args)
{
vertauschung frame = new vertauschung();
frame.setLocation(50,50);
frame.setSize(500,100);
frame.setVisible(true);
}
}
 
Zurück