簡體   English   中英

Java Swing JTable和JScrollPane適應列寬

[英]Java Swing JTable and JScrollPane to Fit Column Width

我是Swing的新手,並且正在使用JTable對象以顯示一些信息。 基本上,框架包含一個JPanel-> GridBagLayout管理器。 JPanel包含一個JLabel(“狀態表”),一個JScrollPane(包含JTable),“ Sort by” JButton和JComboBox。

如何設置列/列標題的寬度以完全顯示其中包含的文本?

我嘗試使用

table.getColumnModel().getColumn(i).setPreferredWidth(my_width); 

但是問題是,為了獲得我想要的結果,所有列的寬度之和大於JScrollPane的寬度,因此什么也不會發生,它們將保持與以前相同。

我嘗試對JScrollPane使用setSize方法以將其調整為與窗口一樣大的大小...但是由於GridBagLayout管理器,看來它不能變得大於一定的大小,這仍然不適合文本。

附加信息:JTable是基於我已經實現的模型構建的,並且我修改的唯一GridBagConstraints是gridx,gridy和fill = BOTH。

表

有關調整每個列大小的簡便方法,請參見表列調整器。

僅應將表添加到滾動窗格。 您可能還需要使用:

table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );

允許每列以其首選大小顯示。

所有列的寬度之和大於JScrollPane的寬度,因此不會發生任何事情,

您對gridbag容器有問題。 組件應增長以填充所有空間。 也許使用BorderLayout會更容易。 將滾動窗格添加到中心,並將其他組件添加到北/南。 您可以將面板與不同的布局管理器嵌套在一起,以獲得所需的布局。

暫無
暫無

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

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