# Ich möchte im JFrame einen Scrollbalken.



## dark (4. Feb 2006)

hallo!

Ich erzeuge in meinem JFrame per Laufzeit neue Checkboxen. Die können irgendwann mal die größe des Fensters sprengen... Dann soll eine Balken zm scrollen erscheinen.
Ich arbeite mit NetBEans, die Klasse JScrollPane hab ich schon entdeckt, aber irgendwie klappt das nicht mit meinem Hauptfenster, dem JFrame.

Ich arbeite mit einem GridBagLayout und hab dann einfach mal das ScrollPane mit  
	
	
	
	





```
this.getContentPane().add(scrollPane1, gridBagConstraints);
```
 dazugemacht. 

jemand einen Tipp wie ich son ScrollBalken in mein Hauptfenster bekomme? Es ist nur das Hauptfenster , im Hauptfenster gibts es 3 Buttons und viele CHeckboxen...


----------



## Beni (4. Feb 2006)

Weiss ja nicht genau, was du machst, aber wenn du ordentlich LayoutManager verwendest, kommen die Scrollbars automatisch.

Du verwendest LayoutManager? (Oder du setzt die preferredSize?). Du setzt den Viewport (oder die ViewportView) des JScrollPanes? Die Methode "add" hat bei einem JScrollPane keine brauchbare Wirkung.

Siehe auch


----------



## Azubili (7. Feb 2006)

Guten morgen,

habe ich schon soviel gesucht, und viel gefunen, aber funzen tut das immer noch nicht =(

Die JTable soll irgendwie mit Scrollbalken versehen werden weil es eine menge datensätze geben wird.


```
package layout;
import java.awt.GridLayout; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 
import javax.swing.JTable; 

public class Table extends JFrame{ 
  
  public Table() { 
    
    super(); 
    
    setSize( 644, 400 ); 
    setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); 
    
	String[][] rowData = { { "Japan", "245","555","555","555","555","hh" },
			   { "Japan", "245","555","555","555","555","hh" },
			   { "Japan", "245","555","555","555","555","hh" },
			   { "Japan", "245","555","555","555","555","hh" },
			   { "Japan", "245","555","555","555","555","hh" },
			   { "Japan", "245","555","555","555","555","hh" },
	 };

	 String[] columnNames = { "Nr", "Typ", "Aktenzeichen", "Nachtrag", "Jahr", "Scan-Datum", "Datei"
	 };
	
    JTable jtable = new JTable(rowData, columnNames); 
    JScrollPane scroll = new JScrollPane( jtable ); 
    JPanel pan = new JPanel(); 
    

	scroll.getViewport().add(jtable);
	
    pan.add( scroll );
    
    pan.setLayout( new GridLayout() ); 
    
    getContentPane().add( pan ); 
    
    pan.revalidate(); 
    
    
    pack(); 
    setVisible( true ); 
  } 
  
  public static void main( String[] args ) { 
    
    
    Table fenster = new Table(); 
  } 
}
```


----------



## L-ectron-X (7. Feb 2006)

Zum Code:
Ausreichend ist:
	
	
	
	





```
import javax.swing.*;

public class Table extends JFrame{

  public Table() {

    setSize( 644, 400 );
    setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

   String[][] rowData = { { "Japan", "245","555","555","555","555","hh" },
            { "Japan", "245","555","555","555","555","hh" },
            { "Japan", "245","555","555","555","555","hh" },
            { "Japan", "245","555","555","555","555","hh" },
            { "Japan", "245","555","555","555","555","hh" },
            { "Japan", "245","555","555","555","555","hh" },
    };

    String[] columnNames = { "Nr", "Typ", "Aktenzeichen", "Nachtrag", "Jahr", "Scan-Datum", "Datei"
    };

    JTable jtable = new JTable(rowData, columnNames);
    JScrollPane scroll = new JScrollPane( jtable );
    //scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

    getContentPane().add( scroll );

    //pack(); //wenn du die eingestellte Größe für dein Fenster bevorzugst - auskommentieren
    setVisible( true );
  }

  public static void main( String[] args ) {
    Table fenster = new Table();
  }
}
```

Zu den ScollBars:
Sobald genügend Inhalt in der JTable ist, werden sich automatisch ScrollBars zeigen.
Wenn du aber immer eine vertikale Scrollbar angezeigt bekommen möchtest, kannst du einfach mal in Zeile 23 den Zeilenkommentar entfernen.


----------



## Azubili (8. Feb 2006)

ok es klappt.

Dankeschön, passt zwar nicht direkt hier her,

aber wie bekomme ich jetzt in die JTable am Besten Datensätze aus einer Datenbank?


vllt einen Tip wo ich das genau nachlesen kann wie das geht?


----------



## Beni (8. Feb 2006)

In unserer FAQ, in der Suche... bin zu muede schon wieder die Links zu posten :wink:


----------

