如何在JTable中获得水平滚动

Sha*_* KK 2 java user-interface swing jtable jscrollpane

我有2个问题,我需要问,第一个如何获取我的JTable的水平滚动,目前它收缩所有根本不可读的列.我有20列显示在表中.

2,如何将我的桌子高度宽度调整到我的屏幕尺寸.

我目前的代码是

Container cp = getContentPane();

            ConnectionDB con = new ConnectionDB();
            tableModel = con.getRecord(DEFAULT_QUERY);

    table = new JTable(tableModel);
    table.setPreferredScrollableViewportSize(new Dimension(900, 500));

    table.setFont(new Font("Tahoma", Font.PLAIN, 12));
    scrollPane = new JScrollPane(table);

    centerPanel.add(scrollPane, BorderLayout.CENTER);
    centerPanel.setBorder(BorderFactory.createTitledBorder("Books:"));
    cp.add("Center", centerPanel);
Run Code Online (Sandbox Code Playgroud)

请帮助我,谢谢你提前.

das*_*eks 10

要防止将所有列的大小调整为ScrollPane大小,可以禁用自动调整大小:

table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
Run Code Online (Sandbox Code Playgroud)

添加ScrollPane到中心BorderLayout应该将最大大小设置为屏幕大小,因为通常JFrame不会变大.

要将ScrollPaneViewPort 的大小设置为屏幕大小,您可以使用awt Toolkit.

table.setPreferredScrollableViewportSize(Toolkit.getDefaultToolkit().getScreenSize());
Run Code Online (Sandbox Code Playgroud)