未显示的JFrame JTable列名称和滚动条不显示

时间:2014-02-21 21:01:50

标签: java swing jtable jframe

我正在尝试向我的程序添加一个表,其中列名在顶部,而滚动条在侧面。由于一些奇怪的原因,一切正常,但列名称也不显示滚动条。

这是我的代码,如果你需要一个正在运行的程序让我知道,但你应该能够将它添加到一个空的JFrame中:

String[] columns = {"Sport", "Location", "Date", "Result"};
    String[][] data = {{"Football", "AQA Highschool", "12.11.13", "5 - 0"},
            {"Tennis", "Wembley", "26.11.14.", "TBC"}};

listTable = new JTable(data, columns);
            listTable.setPreferredScrollableViewportSize(new Dimension(450, 750));
            listTable.setFillsViewportHeight(false);
            listTable.setBounds(25, 100, 450, 640);
            JScrollPane scroll = new JScrollPane(listTable);
            guestFixturesPanel.add(listTable);

2 个答案:

答案 0 :(得分:1)

guestFixturesPanel.add(listTable);

错了!你必须像这样添加滚动:

guestFixturesPanel.add(scroll);

答案 1 :(得分:0)

  

由于一些奇怪的原因,一切正常,但列名不显示   滚动条也没有。

首先,您不是将滚动窗格直接添加到guestFixturesPanel

guestFixturesPanel.add(listTable);

其次,您必须避免使用setBounds()方法并使用合适的LayoutManager代替。看看A visual guide to Layout Managers。您还可以考虑建议here的第三方选项。正如@AndrewThompson总是说:

  

Java GUI可能必须在不同的平台上工作   屏幕分辨率&使用不同的PLAF。因此他们不是   有助于准确放置组件。组织组件   对于健壮的GUI,而是使用布局管理器或其组合   它们,以及布局填充和白色空间的边界。