首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Eclipse Forms 編程指南 (二):TableWrapLayout 與 ColumnLayout 實現自動換行與自適應列佈局

     編輯:Java 相關知識

問題:GridLayout 不支援 Label 自動換行

即使設定 SWT.WRAP,長文本 Hyperlink 在 GridLayout 下仍不換行。

方案一:TableWrapLayout — 類 HTML 表格自動換行

  • 替代 GridLayout,支援 colspan/rowspan、自動換行。
  • 需將控件風格設為 SWT.WRAP。
  • 佈局數據用 TableWrapData。
TableWrapLayout layout = new TableWrapLayout();
body.setLayout(layout);
layout.numColumns = 2;

Hyperlink link = toolkit.createHyperlink(body, "Click here.", SWT.WRAP);
link.setText("很長很長的文本...");
TableWrapData td = new TableWrapData();
td.colspan = 2;
link.setLayoutData(td);
// 其他控件同理...

方案二:ColumnLayout — 寬度自適應欄數

  • 佈局方式:上到下、左到右。
  • Form 寬度變化時,自動調整列數適應 (預設 1-3 列)。
  • 設定簡單:ColumnLayout layout = new ColumnLayout(); layout.minColumns = 1; layout.maxColumns = 3; body.setLayout(layout);

關鍵差異表

特性TableWrapLayoutColumnLayout
換行機制內容超寬自動換行 (像 HTML td)根據 Form 寬度動態調整列數
適用場景表單式、固定欄位、需精確控制跨列響應式、卡片流、儀表盤類介面
數據對象TableWrapData (colspan/rowspan)無特殊數據對象
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved