25. september 2002 - 17:32Der er
25 kommentarer og 2 løsninger
JTabel og JScrollPane
Jeg laver en JScrollPane som får min JTable med i konstruktøren. Men hvis min JTable ikke kan fylde hele området får jeg en grå linie forneden...hvordan slipper jeg af med det?
Hvis jeg bruger: tabel.setPreferredScrollableViewportSize( tabel.getPreferredSize() );
bliver min JFrame alt for stor, hvis der er for mange rækker i tabellen.
Jeg har prøvet at sætte en hvis baggrund men det er som om det ikke virker. både på framen, getcontentpane og min jscrollpane
Prøv med følgende - den er dog ikke med vertikal scrollbar, men kan du jo selv lige putte på ;-)
import javax.swing.*; import javax.swing.table.*; public class ScrollTable { public static void main(String[] args) { TableModel dataModel = new AbstractTableModel() { public int getColumnCount() { return 100; } public int getRowCount() { return 10;} public Object getValueAt(int row, int col) { return new Integer(row*col); } }; JTable table = new JTable(dataModel); JScrollPane scrollpane = new JScrollPane(table); scrollpane.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); // table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); JFrame frame = new JFrame(); JPanel panel = new JPanel(); panel.add(scrollpane); frame.getContentPane().add(panel); frame.setSize(300,300); frame.setVisible(true); } }
magoo: går ud fra du hentyder til dit svar ovenfor...ja, det har jeg leget lidt med, men det fylder hele skærmen...det er jo ikke meningen det skal gå bag toolbaren for neden eller bag ved min icq i højre side fx.
aslan: den Dimension du får retur indeholder jo 1280 x 1024 i mit tilfælde...altså skærmopløsningen. Hvis jeg giver min frame den størrelse bliver den for stor i forhold til hvad der er for stort. Den går jo ned bag min windows-processlinie nederst i skærmbilledet. Og min icq som jeg har trukket helt ud til højre er også foran min frame...kan du følge mig?
du kan ikke se den går ned under processlinien men det gør den :-)
mht. icq...det skulle nok være til at se, at det er skjult bag icq
mht. platformsuafhængiheden. Når man trykker på maskimerknappen må der ske nogle ting...det burde vel også være muligt at få disse ting til at ske i konstruktoren
Jeg har opdaget at hvis du laver din JFrame om til en JPanel så kan du dække hele skærmen....
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.