2012-02-12 120 views
2

我想創建一個類似於Stackoverflow流'提問'頁面中'標籤'字段的文本字段。也就是說,每次使用命中選項卡時,前面的文本都被封閉在一個彩色的圓角矩形中,併成爲'標記'。Java文本字段點擊標籤來創建一個標籤

我已經開始通過擴展JTextField來做到這一點;然而,這是非常乏味的,特別是因爲我在做自定義繪畫。

你有什麼想法如何解決這個問題?

在此先感謝!

回答

3

在「提問」頁面上,文本字段中的文本變成了一個按鈕,因此您現在有兩個組件。

第一個問題是爲什麼你會使用tab鍵進行這個處理。用戶將如何移動文本字段。所有的圖形用戶界面應該設計爲便於使用鍵盤和鼠標。

所以我會從一個包含單個文本字段的JPanel開始。然後當按下「Enter」鍵時,從文本字段中刪除文本,並用文本創建一個JButton,並在面板的位置0處插入按鈕。您可以通過將ActionListener添加到文本字段來處理Enter鍵來執行此處理。

+0

感謝您的回答。 當然,他的tab鍵不太實際,也許輸入或空格鍵會更有意義。 這不是我遇到麻煩的ActionListener。我已經擁有所有這些功能。我在間距方面遇到了很多麻煩。當我創建標籤/ JButton時,它比它替換的純文本佔用更多空間。我的光標必須向前移動才能創建空間等等......而在Java swing中,似乎不允許您從Listener內部編輯文本(它會根據文檔創建死鎖)。有什麼建議麼? – klyngbaek 2012-02-13 22:04:24

+0

我給出瞭解決問題所需的步驟。如果您需要更多幫助,那麼您需要發佈證明問題的SSCCE,因爲我無法猜測您在做什麼。 – camickr 2012-02-14 04:29:48