2013-11-25 44 views

回答

12

也許只是一個text會達到目的。

或者,如果你想顯示在文本字段,則:

tf.setDisable(true) 
2

我會說只使用一個label

+1

我不喜歡在想要顯示大量文本的情況下使用標籤。例如:您沒有線光標,這限制了您使用鍵盤遍歷文本的能力。我認爲標籤更適合用作短單詞(可能是2 - 3個字)的顯示。但OP沒有具體說明他想要展示的內容,所以我可能是對的。 – Jhonny007

25

我做了這樣的:

@FXML 
private TextArea myText; 

,然後下面的代碼添加到INITIALISE() - 方法:

myText.setEditable(false); 
13

我需要只讀文本字段,但設置殘疾人屬性使用了在上下文中不正確的樣式(在我的場景中,文本字段是對搜索功能的輸入,在某些情況下可以修復值 - 禁用文本字段意味着它不是搜索的一部分,而是比價值是固定的)。

在端我降落起來使用:

txtInput.setEditable(false); 
txtInput.setMouseTransparent(true); 
txtInput.setFocusTraversable(false); 

這導致是非反應性的給用戶的正常外觀文本字段。

+1

這個答案在這裏最好,因爲它向我們展示瞭如何做「鼠標透明」和「聚焦(不)可穿透」部分。即使我們不想使用這兩行,也很高興知道如何做這些事情。 –

3
<TextField fx:id="input" disable="true"/> 
+1

請解釋你的答案。 Thx –

+1

@bub這裏解釋什麼?您正在通過fxml文件禁用「TextField」。您可以通過聲明'@FXML TextField input'從控制器類引用它。 – Saris

+1

A **好的答案**總是會對所做的事以及爲什麼以這種方式進行解釋**,不僅是對於OP,而且對於將來訪問SO的人。這是爲了解釋。 –

4

在FXML中,爲您的TextField標記添加editable =「false」。 或取消選中場景構建器中的「可編輯」複選框。

+0

這就是我一直在尋找的東西。 – AyCe