簡體   English   中英

如何制作可滾動的JTable

[英]How to make a scrollable JTable

問題1)我有一個JPanel ps,其布局為空; JScrolPane scrollPane和JTable表。 我已將表添加到scrollPane,然后將scrollPane添加到Jpanel ps。 以下是我這樣做的代碼:

ps = new JPanel();
ps.setLayout(null);
ps.setSize(1000,600);

scrollPane = new JScrollPane();
scrollPane.setBounds(10, 119, 975, 300);
        scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
ps.add(scrollPane);

table = new JTable(data, columns);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
scrollPane.setViewportView(table);

假定不會創建帶有水平滾動條的scrollPane,並且當列數以無法在單個屏幕上處理的方式增加時,滾動條將有助於顯示內容。 請參閱“ AUTO_RESIZE_OFF”。

但是發生的是,所有列的大小是固定的(我不知道有多少個字符。它們的寬度都是相同的。)。 因此,無法完全查看列的名稱。

我的問題是,是否可以增加顯示的列的寬度,或者顯示所有具有自己寬度的列? 另外,如何啟用滾動?

  1. 是。 參見TableColumn 通常,我過去所做的是使用ResultSetMeta數據來構建列模型。 看看如何使用表格以獲取更多信息
  2. 是的,但是JTable可能會有些麻煩。 看一下“ 打印打印JTable” 如果有時間的話,有一些關於SO的很好的例子。
  3. 最好在數據庫端過濾數據。 獲得一組結果后,要過濾該組結果,可以使用其ResultSetMetaData確定要分組的列。 同樣,如果還沒有結果,則可以使用DatabaseMetaData確定數據庫中表的列
  1. 關於問題1和問題2的打印作業,建議您查看碧玉報告
  2. 對於您的問題3,我不知道您的數據庫結構是什么,因此很難說出來,但是看起來您正在尋找的是JTable中的行跨度。 因此,請嘗試在Google周圍查找此類內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM