# JTable in JScrollPane



## Verjigorm (25. Nov 2008)

Hallo,
könnte mir vielleicht wer erklären, wie man in einer JTable es hinkriegt, dass VIELE Spalten angezeigt werden?
Ich hab nämlich knapp 100 Spalten mit langen Namen und egal wiegroß ich das Fenster ziehe, ich sehe quasi nix.
hab schon die preferredSize jeder Spalte erhöht, aber die JScrollpane(?) oder die JTable mögen sich irgendwie nicht horizontal ausbreiten.
Hab schon size von Table und jscrollpane etc. erhöht, alles irgendwie ohne Erfolg.
Stehe vermutlich aufm Schlauch oder so.

Hier ein kleines Minimalbeispiel.

mfg Verjigorm


```
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import java.util.ArrayList;

import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 * @author erm9i
 *
 */
public class Test extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JScrollPane jScrollPane = null;
	private JTable jTable = null;

	/**
	 * This method initializes jScrollPane	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane() {
		if (jScrollPane == null) {
			jScrollPane = new JScrollPane();
			jScrollPane.setViewportView(getJTable());
		}
		return jScrollPane;
	}

	/**
	 * This method initializes jTable	
	 * 	
	 * @return javax.swing.JTable	
	 */
	private JTable getJTable() {
		if (jTable == null) {
			jTable = new JTable();
			
			ArrayList<String> titles = new ArrayList<String>();
			for(int i = 0; i<100; i++)
			{
				titles.add("Zeile"+i);
			}
			
			DefaultTableModel model = new DefaultTableModel(titles.toArray(), 0);
			
			jTable.setModel(model);
			
			for(String spalte: titles)
			{
				jTable.getColumn(spalte).setPreferredWidth(100);
			}
		}
		return jTable;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				Test thisClass = new Test();
				thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				thisClass.setVisible(true);
			}
		});
	}

	/**
	 * This is the default constructor
	 */
	public Test() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(300, 200);
		this.setContentPane(getJContentPane());
		this.setTitle("JFrame");
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(new BorderLayout());
			jContentPane.add(getJScrollPane(), BorderLayout.CENTER);
		}
		return jContentPane;
	}

}
```


----------



## SlaterB (25. Nov 2008)

jTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);


----------



## Verjigorm (25. Nov 2008)

SlaterB hat gesagt.:
			
		

> jTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);



oh man oh man, ich wusste, dass ich was vergessen habe  :roll:    :autsch: 
Vielen Dank  :toll:


----------

