Hallo,
ich möchte den Inhalt einer Arraylist in einem Textfeld ausgeben. Soweit funktioniert das auch, aber ich weiß nicht so richtig wie ich das Textfeld nun mit einer Scrollpane verknüpfe?? So wie es jetzt ist kommt kein Scrollbalken.
Wenn ich auf den Button "Auslesen" drücke wird jedesmal ein Wert auf der Arraylist in das Textfeld geschrieben.
Hier der Quellcode des Gui-Teils (falls nötig kann ich den Rest noch posten):
Es geht um das Textfeld "ausgabe" Zeile 77
Danke
ich möchte den Inhalt einer Arraylist in einem Textfeld ausgeben. Soweit funktioniert das auch, aber ich weiß nicht so richtig wie ich das Textfeld nun mit einer Scrollpane verknüpfe?? So wie es jetzt ist kommt kein Scrollbalken.
Wenn ich auf den Button "Auslesen" drücke wird jedesmal ein Wert auf der Arraylist in das Textfeld geschrieben.
Hier der Quellcode des Gui-Teils (falls nötig kann ich den Rest noch posten):
Es geht um das Textfeld "ausgabe" Zeile 77
Code:
class Gui_Lotto extends JFrame implements ActionListener {
JPanel zaehlerPanel;
JPanel zahlenPanel;
JPanel buttonPanel;
JTextField zaehler;
JTextField zahl1;
JTextField zahl2;
JTextField zahl3;
JTextField zahl4;
JTextField zahl5;
JTextField zahl6;
JTextField zusatzzahl;
JTextField ausgabe;
JLabel z_zahl;
JButton neueZiehung;
JButton auslesen;
JScrollPane scroll;
int count = 0;
//neues Objekt vom Typ BitListe erzeugen
BitListe bl = new BitListe();
//neue Liste vom Typ ArrayList erzeugen
ArrayList al = new ArrayList();
//Iterator it = al.iterator();
Gui_Lotto() {
super("Lotto am Samstag");
//Panel1 für die Zählung der Lottoziehungen
zaehlerPanel = new JPanel();
zaehlerPanel.setLayout(new FlowLayout());
zaehlerPanel.setBackground(Color.pink);
zaehler = new JTextField(10);
zaehlerPanel.add(zaehler);
//Panel2 für die Lottozahlen
zahlenPanel = new JPanel();
zahlenPanel.setLayout(new FlowLayout());
zahlenPanel.setBackground(Color.lightGray);
zahl1 = new JTextField(2);
zahlenPanel.add(zahl1);
zahl2 = new JTextField(2);
zahlenPanel.add(zahl2);
zahl3 = new JTextField(2);
zahlenPanel.add(zahl3);
zahl4 = new JTextField(2);
zahlenPanel.add(zahl4);
zahl5 = new JTextField(2);
zahlenPanel.add(zahl5);
zahl6 = new JTextField(2);
zahlenPanel.add(zahl6);
z_zahl = new JLabel("Zusatzzahl:");
zahlenPanel.add(z_zahl);
zusatzzahl = new JTextField(2);
zahlenPanel.add(zusatzzahl);
//Panel3 für die Buttons
buttonPanel = new JPanel();
buttonPanel.setLayout(new FlowLayout());
buttonPanel.setBackground(Color.white);
neueZiehung = new JButton("neue Ziehung");
neueZiehung.addActionListener(this);
buttonPanel.add(neueZiehung);
auslesen = new JButton("Auslesen");
auslesen.addActionListener(this);
buttonPanel.add(auslesen);
ausgabe = new JTextField(25);
scroll = new JScrollPane();
scroll.add(ausgabe);
buttonPanel.add(ausgabe);
//Hauptfenster
setSize(400,150);
setLayout(new BorderLayout());
add(zaehlerPanel, BorderLayout.NORTH);
add(zahlenPanel, BorderLayout.CENTER);
add(buttonPanel, BorderLayout.SOUTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent event) {
String cmd = event.getActionCommand();
//Klick auf Button -> neue Lottoziehung
if (cmd.equals("neue Ziehung")) {
this.count++;
bl.getListe();
zaehler.setText(count+ ". Lottoziehung");
System.out.println(count+ ". Lottoziehung");
zahl1.setText("" +bl.zahlen[0]);
zahl2.setText("" +bl.zahlen[1]);
zahl3.setText("" +bl.zahlen[2]);
zahl4.setText("" +bl.zahlen[3]);
zahl5.setText("" +bl.zahlen[4]);
zahl6.setText("" +bl.zahlen[5]);
zusatzzahl.setText("" +bl.zahlen[6]);
//Anzeige der 6 Lottozahlen + Zusatzzahl in den Textfeldern
al.add(" "+count+ ". Ziehung: " +bl.zahlen[0]+ " " +bl.zahlen[1]+ " " +bl.zahlen[2]+ " " +bl.zahlen[3]+ " " +bl.zahlen[4]+ " " +bl.zahlen[5]+ " " +bl.zahlen[6]);
System.out.println("");
System.out.println(al);
}
if (cmd.equals("Auslesen")) {
Iterator it = al.iterator();
while (it.hasNext()) {
System.out.println((String) it.next());
ausgabe.setText((String) it.next());
}
}
}
public static void main (String[] args) {
Gui_Lotto gl = new Gui_Lotto();
gl.setLocation(310,200);
gl.setVisible(true);
gl.setSize(600,400);
gl.pack();
//ohne gl.pack() wuerden die Panels nicht auf die
//gewuenschte Frame-Groesse gesetzt werden
}
}
Danke