我正在尝试向我的程序添加一个表,其中列名在顶部,而滚动条在侧面。由于一些奇怪的原因,一切正常,但列名称也不显示滚动条。
这是我的代码,如果你需要一个正在运行的程序让我知道,但你应该能够将它添加到一个空的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);
答案 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,而是使用布局管理器或其组合 它们,以及布局填充和白色空间的边界。