# Textfeld mit Scrollbalken



## master099 (29. Mrz 2006)

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


```
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


----------



## André Uhres (29. Mrz 2006)

```
...
    JTextArea ausgabe;
...
        ausgabe = new JTextArea(2,20);
        JScrollPane scroll = new JScrollPane();
        scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        scroll.setViewportView(ausgabe);
        buttonPanel.add(scroll);
...
            java.util.Iterator it = al.iterator();
            String value = "";
            if (it.hasNext()) {
                value = (String) it.next();
                ausgabe.setText(value);//erste Zeile
            }
            while (it.hasNext()) {
                value = (String) it.next();
                ausgabe.append("\n");//nächste Zeile
                ausgabe.append(value);
            }
            ausgabe.setCaretPosition(0);
...
```


----------



## André Uhres (30. Mrz 2006)

29. 03. 2006, 19:41


----------



## The_S (30. Mrz 2006)

[ot]



			
				André Uhres hat gesagt.:
			
		

> 29. 03. 2006, 19:41



öhm ... joa ...  :autsch:  ???:L  :bahnhof:  :autsch: 

[/ot]


----------



## André Uhres (30. Mrz 2006)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> [ot]
> 
> 
> 
> ...


Ist ja blöd, aber ich kann nichts dafür wenn das Board beim Editieren das Datum nicht aktualisiert.


----------



## master099 (4. Apr 2006)

danke, funktioniert super, jetzt habe ich verstanden wie das mit dem scrollen funktioniert  :?


----------

