Hi Leute,
mal wieder ein kleines Anfänger-Problem wo mir aber mal wieder der Weg zum Ziel fehlt. Folgende Situation: ich hab ein eingabefeld, wo ein String eingegeben werden kann (in meinem Beispiel eine Mathe-Aufgabe). mit einem JPanel geb ich aus ob die eingegebe Zahl richtig oder falsch ist.
jetz wirds allerdings knifflig. Darunter habe ich ein JTextArea aufgebaut, wo die eingegebenen Zahlen nacheinander aufgelistet werden sollen (also auch mit Zeilenumbruch).
Ich habe mir aus der API-Doku den 'Container' rausgesucht, und, nach eigenem Ideenreichtum, versucht mittels 'liste.add(eingabe, ergebnisliste);' Strings welche eingegeben werden dem Container hinzuzufügen.
Wie gebe ich jedoch das ganze nun im Textfeld aus? bzw. speichert der Container überhaupt meine Ergebnisse? Passenderweise müssten die Ergebnisse auch nur ausgegeben werden, wenn sie richtig eingetippt worden sind.
Hier mal mein Code wie weit ich bin:
hoffe ich habs nicht zusehr vermurkst ???:L???:L
mal wieder ein kleines Anfänger-Problem wo mir aber mal wieder der Weg zum Ziel fehlt. Folgende Situation: ich hab ein eingabefeld, wo ein String eingegeben werden kann (in meinem Beispiel eine Mathe-Aufgabe). mit einem JPanel geb ich aus ob die eingegebe Zahl richtig oder falsch ist.
jetz wirds allerdings knifflig. Darunter habe ich ein JTextArea aufgebaut, wo die eingegebenen Zahlen nacheinander aufgelistet werden sollen (also auch mit Zeilenumbruch).
Ich habe mir aus der API-Doku den 'Container' rausgesucht, und, nach eigenem Ideenreichtum, versucht mittels 'liste.add(eingabe, ergebnisliste);' Strings welche eingegeben werden dem Container hinzuzufügen.
Wie gebe ich jedoch das ganze nun im Textfeld aus? bzw. speichert der Container überhaupt meine Ergebnisse? Passenderweise müssten die Ergebnisse auch nur ausgegeben werden, wenn sie richtig eingetippt worden sind.
Hier mal mein Code wie weit ich bin:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
/**
*
* Beschreibung
*
* @version 1.0 vom 18.03.2011
* @author
*/
public class gui_test extends JFrame {
// Anfang Attribute
private JLabel aufgabe = new JLabel();
private JNumberField eingabe = new JNumberField();
private JButton knopf = new JButton();
private JLabel richtig_falsch = new JLabel();
private JTextArea ergebnisliste = new JTextArea("");
private Container liste = new Container();
// Ende Attribute
public gui_test(String title) {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 380;
int frameHeight = 284;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
aufgabe.setBounds(16, 16, 67, 24);
aufgabe.setText("3 + 3 = ");
aufgabe.setFont(new Font("MS Sans Serif", Font.PLAIN, 18));
cp.add(aufgabe);
eingabe.setBounds(96, 11, 121, 32);
eingabe.setText("");
eingabe.setFont(new Font("MS Sans Serif", Font.PLAIN, 18));
cp.add(eingabe);
knopf.setBounds(240, 10, 91, 33);
knopf.setText("OK!");
knopf.setMargin(new Insets(2, 2, 2, 2));
knopf.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
knopf_ActionPerformed(evt);
}
});
knopf.setFont(new Font("MS Sans Serif", Font.PLAIN, 18));
cp.add(knopf);
richtig_falsch.setBounds(40, 64, 256, 32);
richtig_falsch.setText("(richtig oder falsch)");
richtig_falsch.setFont(new Font("MS Sans Serif", Font.BOLD, 23));
richtig_falsch.setVisible(false);
cp.add(richtig_falsch);
ergebnisliste.setBounds(8, 112, 337, 113);
ergebnisliste.setText("");
ergebnisliste.setLineWrap(true);
ergebnisliste.setEditable(false);
ergebnisliste.addCaretListener(new CaretListener() {
public void caretUpdate(CaretEvent evt) {
ergebnisliste_CaretUpdate(evt);
}
});
cp.add(ergebnisliste);
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Methoden
public void knopf_ActionPerformed(ActionEvent evt) {
String temp = eingabe.getText();
if (temp.equals("6")) {
richtig_falsch.setText("RICHTIG!");
richtig_falsch.setVisible(true);
liste.add(temp,ergebnisliste);
} else {
richtig_falsch.setText("FALSCH!");
richtig_falsch.setVisible(true);
}
}
public void ergebnisliste_CaretUpdate(CaretEvent evt) {
}
// Ende Methoden
public static void main(String[] args) {
new gui_test("gui_test");
}
}
hoffe ich habs nicht zusehr vermurkst ???:L???:L