2014-06-23 14 views
42

Qual è la differenza tra javafx.scene.text.Text e javafx.scene.control.Label?Differenze di testo e di etichetta in JavaFX

La documentazione dice:

  • Label è un controllo di testo non modificabile.
  • La classe Text definisce un nodo che visualizza un testo.

Ma la classe Label ha un metodo "setText" e "textProperty", pertanto è modificabile.

+6

non modificabile in questo contesto significa che non è possibile modificarlo sullo schermo, non significa che non è possibile modificarlo a livello di programmazione. –

+0

Una differenza è la posizione in un gruppo. Quando aggiungi un testo, questo viene posizionato sopra il gruppo e l'etichetta viene inserita all'interno ... – multiplayer1080

risposta

61

Come sottolineato da Harry Blargle, "non modificabile" significa "non modificabile dall'utente". Quindi sia l'etichetta che il testo non sono modificabili.

Etichetta e testo hanno proprietà CSS diverse. Label inherits from Labeled, Control, and Region, il che significa che eredita moltissime proprietà stabili che il testo non ha. Un'etichetta può avere allineamento, un grafico, uno sfondo, un bordo, una tastiera visualizzata mnemonica, un involucro incorporato e può essere agevolmente ritagliata con un ellipsis ("...").

Il testo può partecipare a un TextFlow. (Tecnicamente, Label può anche, ma è trattato come un altro controllo incorporato e non è disposto come testo.)

In generale, se si desidera mostrare lo scopo di un controllo di input posizionando una o più parole successive ad esso, e/o si desidera consentire la navigazione diretta da tastiera a un controllo di input, si utilizza un'etichetta. Se si desidera visualizzare il contenuto del testo non associato all'input, si utilizza Testo.

+2

+1 per una spiegazione esauriente. –

11

A Text A è una forma geometrica (come un rettangolo o un cerchio), mentre Label è un controllo dell'interfaccia utente (come un pulsante o un CheckBox).

In Swing, le forme geometriche erano limitate al meccanismo di verniciatura, mentre in JavaFX possono essere utilizzate in modi più generici.

+0

E puoi usare un ritaglio 'Testo', dando al nodo la forma del testo. – Mordechai

Problemi correlati