2015-05-26 76 views
-1

在我的程序中,我想有一個JTextField看起來與周圍的JPanel齊平,沒有3D。如何使JTextField看起來像JLabel

另外,是否有另外一種方法來完成這項工作?我想要的是有一個可更新的組件,可以顯示高亮度的文本,而不會將焦點移動到標籤中。

+1

1)應該突出顯示什麼? 2)如果它不可聚焦,用戶將無法在那裏插入文本。你需要非常清楚你想要什麼。 – user1803551

+0

組件中的文本應該能夠突出顯示 – alphadelta

+0

@ user1803551這是一個問題,要求提供類似的東西,但我相信問題是不同的,以至於他們需要不同的問題。 – alphadelta

回答

1

爲了使文本字段看起來齊平,您只需要刪除JTextField的邊框(以及像更改顏色一樣)。

aJTextField.setBorder(null); 

正如@ user1803551提到如果文本字段不可作爲焦點,則用戶將無法輸入文本,他們也將能夠突出顯示。

如果你希望用戶能夠突出顯示文本,但不能編輯的文本或有光標出現在場上那麼我建議你設置字段不是編輯

aJTextField.setEditable(false); 

然而,在當你的問題的這部分內容仍然不清楚(並且應該是一個新問題)時,你試圖達到的目標。

+0

@ user1803551那麼它的真正兩個不同的問題,第一個(和標題)是關於外觀和保證答案。第二個是關於行爲,這是不明確的部分。 –

-1

setBackground(null)或'setOpaque(false)'將背景色設置爲周圍的JPanel的背景色。

要獲得Color對象與JPanel的背景顏色,使用new Color(UIManager.getColor("RootPane.background").getRGB())

而且,設置邊框爲空與setBorder()

此外,要允許突出顯示沒有明顯的焦點變化,請使用setEditable(false)

+0

這是重複問題鏈接中的答案。你是否只是將自己的問題標記爲重複,並且在那裏答覆了答案? – user1803551

+0

噢,無論如何它都被標記。 – user1803551