
Originariamente inviata da
andbin
Nel tuo caso capita che il preferred size di JScrollPane sia ben maggiore dei 200x200 che imponi sul frame, quindi la tabella risulta "troncata". Vuoi risolvere correttamente e meglio? Metti JScrollPane direttamente nel content-pane di JFrame oppure imposta un BorderLayout al tuo Tabella1.
codice:
import javax.swing.*;
import java.awt.*;
public class Tabella1 extends JPanel
{
public Tabella1()
{
Object[][]cells = {{"0,0","0,1","0,2","0,3"},{"1,0","1,1","1,2","1,3"}};
String[]columnNames = {"Colonna 1", "Colonna 2", "Colonna 3"};
JTable table = new JTable(cells,columnNames);
this.setLayout(new BorderLayout());
JScrollPane scroll = new JScrollPane(table);
this.add(scroll,BorderLayout.CENTER);
}
}
class TabellinaFrame extends JFrame
{
public TabellinaFrame()
{
this.setSize(400,400);
Container contentPane = this.getContentPane();
Tabella1 tab = new Tabella1();
contentPane.add(tab);
}
public static void main(String[]args)
{
TabellinaFrame f = new TabellinaFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
Il problema che mi ponevo e che mi avevi già risolto in un precedente post, ma io non avevo interpretato bene, era che volevo che venissero messe le barre di scorrimento qualora la tabella fosse di maggiore altezza rispetto alla finestra che la conteneva... Ecco il problema era che non vedevo le barre di scorrimento ... beh.... mi è bastato aggiungere altre 3 righe alla tabella e... magicamente le barre c'erano... scusa per il tempo che t'ho fatto perdere...