我有兩個JTables,每個JTables被添加到具有Borderlayout的容器(TableHeader到BoderLayout.PAGE_START和JTable到中心),這些Container被添加到JScrollPane中。Java,GirdLayout,ScrollPane無法正常工作
將兩個容器添加到具有網格佈局的容器,該網格佈局添加到JPanel的中心。
問題是,該滾動條沒有顯示,或者如果強制滾動條顯示所有的時間,它不工作。 JTable擁有超過100個條目,但只顯示前30個條目。
我已經試過搜索,發現已經有一些可能的修復,但他們沒有工作。我已經嘗試了一個首選大小,添加了一個佈局到ScrollPane和一些其他可能性,但沒有任何工作。
JTable中的一些代碼:
this.locations = new JTable(data, columnNames);
this.locations.getTableHeader().setReorderingAllowed(false);
this.locations.setDefaultEditor(Object.class, null);
// this.locations.setPreferredSize(new Dimension(100, 100));
Container table = new Container();
table.setLayout(new BorderLayout());
table.add(this.locations.getTableHeader(), BorderLayout.PAGE_START);
table.add(this.locations, BorderLayout.CENTER);
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
this.content.add(scrollPane);
位置是JTable中,內容是與GridLayout的,然後將其添加到具有BorderLayout的JPanel中的集裝箱。
請添加一個完整的,可編譯的代碼示例。 – Amber