Hi,
ich wir haben gerade Swing und GUI Programmierung in der Uni kennengelernt.
Es geht nun darum einen "Ball", der sich bewegt (das hab ich schon) und ein Rechteck, zu dem man als Benutzer von außen, vorm Start die Koordinaten angeben kann (hier liegt das Problem), zu programmieren.
Ich hätte jetzt an die Klasse TextField gedacht, um so eine Eingabefeld für x-, und y-Koordinate zu erzeugen. Das Klappt auch. Aber ich kann nichts daraus auslesen!
Ich möchte ja, sobald auf den Start-Button geklickt wird, die Koordinaten ausgelesen werden, und das Rechteck an der richtigen Stelle erzeugt wird.
Hab jetzt schon gegooglet und in der Api nachgesehn. Aber mit .getText() kommen nur Fehlermeldungen. Zumal ich ja keinen String haben will, sondern eine int-Variable.
Ich kopier mal den Code hier rein (das Problem ist in Zeile 42/43):
ich wir haben gerade Swing und GUI Programmierung in der Uni kennengelernt.
Es geht nun darum einen "Ball", der sich bewegt (das hab ich schon) und ein Rechteck, zu dem man als Benutzer von außen, vorm Start die Koordinaten angeben kann (hier liegt das Problem), zu programmieren.
Ich hätte jetzt an die Klasse TextField gedacht, um so eine Eingabefeld für x-, und y-Koordinate zu erzeugen. Das Klappt auch. Aber ich kann nichts daraus auslesen!
Ich möchte ja, sobald auf den Start-Button geklickt wird, die Koordinaten ausgelesen werden, und das Rechteck an der richtigen Stelle erzeugt wird.
Hab jetzt schon gegooglet und in der Api nachgesehn. Aber mit .getText() kommen nur Fehlermeldungen. Zumal ich ja keinen String haben will, sondern eine int-Variable.
Ich kopier mal den Code hier rein (das Problem ist in Zeile 42/43):
Java:
package aufgabe1;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MyPanel extends JPanel {
private static final long serialVersionUID = 1L;
private int x; //Koordinaten des Ziels/Rechtecks
private int y;
Box box;
JTextField xTextField;
JTextField yTextField;
MyPanel () {
//Erzeugen der Komponenten
Box box = new Box();
JButton startButton = new JButton("Start");
JTextField xTextField = new JTextField("x-Koord. des Ziels");
JTextField yTextField = new JTextField("y-Koord. des Ziels");
//Erzeugen der Listner
startButton.addActionListener(new StartAction());
//Layout
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.add(xTextField);
panel.add(yTextField);
panel.add(startButton);
this.setLayout(new BorderLayout());
this.add(panel, BorderLayout.NORTH);
this.add(box, BorderLayout.CENTER);
}
class StartAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
box.setAnimation(true);
x = parseInt(xTextField.getText()); //hier meckert Eclipse rum:
y = parseInt(yTextField.getText()); //"The method parseInt(String) is undefined for the type MyPanel.StartAction"
}
}
}