Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Inserire del testo in JPanel

    Salve a tutti. spiego brevemente quello a cui sto lavorando. Ho un JPanle sui cui è possibile disegnare (premendo il tasto sx del mouse), vorrei poterci anche scrivere con la tastiera. Nella mia testa la cosa appare così:
    1) con il click destro del mouse selezione la posizone in cui iniziare a scrivere.
    2) il cursore si blocca e diventa un TEXT_CURSOR (la barretta verticale).
    3) inserisco il testo da tastiera
    4) premo un tasto (invio o esc) e posso tornare a disegnare.

    Ora con queste premesse sto cercando di implementare sta roba

    Pensavo di utilizzare delle JtextArea ma ho qualche problema a gestirle (tra cui la dimensione).
    La mia idea è quella di creare una textarea (invisibile) molto piccola..(1 riga e 2 colonne) su cui poter scrivere una o due lettere, poi questa zona viene ingrandita manmano che ci scrivo. In questo modo sarebbero visibili soltanto il cursore e il testo e il disegno (sottostante) sarebbe coperto in minima parte.

    Tutto ciò mi sembra al quanto complicato.. vi chiedo:
    1) sono sulla starda giusta?
    2) esiste qualche oggetto che si occupa di questo o che mi potrebbe servire?

    grazie saluti

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Inserire del testo in JPanel

    Originariamente inviato da joker83
    2) il cursore si blocca e diventa un TEXT_CURSOR (la barretta verticale).
    Occhio: una cosa è il cursore del mouse (che può avere la classica forma a I per il testo) e un'altra è il "caret" (si chiama così), il cursore lampeggiante, tipicamente barretta (o blocchetto) che c'è in un qualsiasi campo di testo.

    Originariamente inviato da joker83
    3) inserisco il testo da tastiera
    Se ti limiti a semplice inserimento con sola possibilità di "backspace" (quindi niente gestione della selezione, niente frecce avanti/indietro arbitrario), dovresti cavartela con poco.

    Originariamente inviato da joker83
    Pensavo di utilizzare delle JtextArea ma ho qualche problema a gestirle (tra cui la dimensione).
    La mia idea è quella di creare una textarea (invisibile) molto piccola..(1 riga e 2 colonne) su cui poter scrivere una o due lettere, poi questa zona viene ingrandita manmano che ci scrivo. In questo modo sarebbero visibili soltanto il cursore e il testo e il disegno (sottostante) sarebbe coperto in minima parte.
    Ma questa text-area vuoi che poi resti "permamente" lì? Allora no, perché darebbe problemi poi con gli eventi del mouse, avresti un componente in mezzo ai piedi nel panello!

    Originariamente inviato da joker83
    1) sono sulla starda giusta?
    2) esiste qualche oggetto che si occupa di questo o che mi potrebbe servire?
    Cose "di serie" per gestire painting complessi (a mò di programma di grafica) no, non c'è nulla in AWT/Swing.

    Io ti consiglierei di fare come fa ad esempio il software GIMP quando si vuole scrivere del testo su una immagine. Si sceglie il "Text Tool", poi si clicca in un punto della immagine e compare una nuova finestrella a parte che contiene una text-area. Man mano che digiti il testo si aggiorna sulla immagine.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    28
    è un problema che sto per affrontare anche io.

    hai un pm

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 © 2025 vBulletin Solutions, Inc. All rights reserved.