我在 46 列的 JPanel 中有一個 JTable。問題是您無法讀取列的標題,更不用說任何后續行了。我無法輕松找到將表格擴展到視口之外的方法,這將允許水平滾動條。這是我用于設定表格和視口的代碼。
private void setupReferencePanel() {
refTable = new JTable(null, makeHeaderVector());
refTable.addMouseListener(new TableListener(presenter));
refListingPanel = new JPanel();
refListingPanel.setLayout(new BorderLayout());
refListingPanel.setBorder(BorderFactory.createTitledBorder("Reference File"));
refScroller = new JScrollPane(refTable);
refScroller.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
refTable.setFillsViewportHeight(true);
//refTable.setFillsViewportWidth(true);
refListingPanel.add(refScroller, BorderLayout.CENTER);
refCountLbl = new JLabel("item count: 0");
refSelect = new SelectionPanel("Selection");
refListingPanel.add(refSelect, BorderLayout.PAGE_START);
refListingPanel.add(refCountLbl, BorderLayout.PAGE_END);
refTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
getContentPane().add(refListingPanel);
}
private Vector makeHeaderVector() {
String[] cols = { ... }; // hidden array of string contents
Vector<String> results = new Vector<String>(Arrays.asList(cols));
return results;
}
uj5u.com熱心網友回復:
我應該設定
refTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF)
代替
refTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
在檔案的后面,常量 AUTO_RESIZE_OFF 被定義為“不自動調整列寬;改用水平滾動條。'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/363042.html
下一篇:擺動碰撞檢測
