2009-07-07 68 views
0

我正在創建一個Java應用程序,用戶可以在其中搜索對象列表,然後使用動態生成的表格顯示在JEditorPane窗口中,該表格的大小因返回的結果數量而異。在JEditorPane中選擇元素

然後我想讓用戶選擇和編輯對象。 (Java對象,而不是HTML代碼)這是可行的,還是應該做一些完全不同的事情?我是否應該使用JEditorPane,或者我應該使用不同的方法,並且我會怎麼做?

有問題的顯示器具有任何地方從1到50(根據結果),上面寫着這樣的細胞:

名稱
文本
對象

的圖片複選框作爲對象的一部分的兩個布爾變量。

複選框應該允許用戶單擊它們並更改布爾變量,然後將其保存到主對象集合中。

想法?

回答

0

JTable適用於這類任務。你可以用渲染器和編輯器做很多你正在尋找的東西。 Here is a tutorial。我強調的一個exerpt如下:

要選擇顯示列中單元格的渲染器,表首先會確定是否爲該特定列指定了渲染器。如果你沒有,那麼表調用表模型的getColumnClass方法,該方法獲取列的單元格的數據類型。接下來,該表將列的數據類型與單元格渲染器註冊的數據類型列表進行比較。此列表由表格初始化,但您可以添加或更改它。目前,表把下面的數據類型的列表:

  • 布爾 - 一個複選框呈現。
  • 數字 - 通過右對齊標籤呈現。
  • Double,Float - 與Number相同,但對象到文本的轉換由NumberFormat實例(使用當前語言環境的默認數字格式)執行。
  • 日期 - 由標籤呈現,由DateFormat實例執行對象到文本轉換(使用日期和時間的簡短樣式)。
  • ImageIcon,Icon - 由中心標籤呈現。
  • 對象 - 由顯示對象的字符串值的標籤呈現。

使用類似算法選擇細胞編輯器。