Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [java] TextArea

  1. #1

    [java] TextArea

    ho creato un'interfaccia che in alcuni casi rimanda un messaggio di errore in una finestra di tipo Dialog (tipo windows quando lancia messaggi di errore per capirci) in cui ho messo un bottone e il testo per spiegare il tipo di errore. Il problema è che il testo al momento è in una label e se la stringa è troppo lunga "esce" dalla finestra e viene tagliata.
    Avevo pensato di usare una TextArea impostando così più di una riga in modo da riuscire in ogni caso a vedere tutto il testo.
    Il problema è che io definisco una TextArea di 2 righe e 1 colonna (ad esempio)

    TextArea a = new TextArea(2, 1)

    Però la TextArea che mi conpare nella Dialog ha sempre una riga sola e il testo è scritto in orizzonatale come in una normale TextField.

    (anche provando a mettere più righe o più colonne la cosa non cambia)

    Qualcuno mi sa dire qualcosa a riguardo?? Qualche suggerimento per risolvere il problema??
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  2. #2
    Un primo rimedio veloce e' quello di usare HTML per label:

    <html>Prima riga
    seconda riga
    terza riga</html>

    Per quanto riguarda la TextArea, quasi sicuramente dipende dal Layout Manager.
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  3. #3
    il problema è che devo per forza usare il java visto che non si tratta di una applet per internet ma di un'applicazione per un esame all'università...

    Come layout della finestra ho usato il gridLayout perchè è quello che meglio si adattava a formare la disposizione dei componenti che mi interessava...non ci sono modi per risolvere il problema?
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  4. #4
    1) Java Swing supporta HTML per molti componenti, fra cui JLabel.

    2) Probabilmente GridLayout usa la dimensione del bottone anche per i campi di testo. Prova col famigerato GridBagLayout, magari aiutandoti con un IDE o una classe ausiliaria come la GBC che ho postato un paio di giorni fa...
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  5. #5
    ho risolto il problema passando al BorderLayout che tanto si adatta bene anche quello per la disposizione che mi serve, però la TextArea mi serve, come ho già detto, solo per visualizzare un messaggio e non per far inserire del testo dall'utente, quindi dovrei renderla non editabile solo che facendo così mi mette il testo grigio chiarissimo e io lo vorrei nero..non c'è un modo per cambiare sta cosa?
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  6. #6
    Se la disattivi diventa grigia, se la setti non editabile non succede niente, almeno a me eh... Forse dipende dal Look'n'Feel?
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  7. #7
    ci sono riuscito, stranamente con un semplice setEditable(false) anche se a dire il vero quando ho provato ieri non andava...mah...magari lo pisizionavo in un punto in cui non aveva effetto, ora l'ho messo in fondo, dopo aver definito la TextArea, aver messo il testo e impostato tutte le proprietà.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,305
    Domanda: perchè, al posto di una JTextArea, non hai usato una semplicissima JLabel? Anch'essa supporta pienamente HTML.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    a me non interessa che supporti html solo che mi consenta di andare a capo se la stringa da visualizzare non ci sta su una sola riga, non sto scrivendo una applet ma un'applicazione per un esame dell'università...niente html...cmq ho risolto il problema!
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,305
    Originariamente inviato da Matteo982
    a me non interessa che supporti html solo che mi consenta di andare a capo se la stringa da visualizzare non ci sta su una sola riga, non sto scrivendo una applet ma un'applicazione per un esame dell'università...niente html...cmq ho risolto il problema!
    Ripeto: le JLabel supportano HTML (come standard, non sto parlando di Applet) e come ti ha già evidenziato dekdek è possibile gestirle in modo da andare a capo quando la riga non ci sta, utilizzando l'apposito tag BR:
    codice:
    String str = "<html>Questa &egrave; la prima riga
    ";
    str += "Questa &egrave; la seconda riga</html>";
    
    JLabel lbl = new JLabel(str);
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.