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

Discussione: Problema interfaccia

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60

    Problema interfaccia

    Ehi ciao a tutti!!

    Mi chiedevo se qualcuno potesse aiutarmi riguardo una JTextArea dotata di JScrollPane.
    Io inserisco delle sorgenti file ogni volta che un JButton viene schiacciato.
    Mi chiedevo se si riusciva ad andare a capo ogni volta che viene premuto il bottone anche se magari la sorgente non occupa tutta la riga, creando così un elenco puntato.

    ES :

    Le path scelte sono le seguenti:
    path 1
    path 2
    path 3

    E' possibile? in quanto so che una JText area non è un editor di testo.
    E un'altra cosa.. il mio JFrame in cui si trovano altri elementi a parte la JTextArea ha sfondo.. finchè non inserisco il JScrollPane e settando la JTextArea non opaca lo sfondo si si vede mentre appena inserisco il JScrollPane tutta la JTextArea diventa grigia nonostante abbia settato non opaco anche il JScrollPane..
    Sapete che può essere??

    Grazie mille

    Alessio

  2. #2
    in realtà la JTextArea è un editor di testo, ma mooooolto scarso.
    per andare a capo, basta concatenare uno \n alle path quando invochi l'append.
    cioè:
    codice:
    //la  textarea si chiama a          
    a.append("\n" + pathN);
    per la JScrollPane non saprei dirti

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

    Re: Problema interfaccia

    Originariamente inviato da parzi
    finchè non inserisco il JScrollPane e settando la JTextArea non opaca lo sfondo si si vede mentre appena inserisco il JScrollPane tutta la JTextArea diventa grigia nonostante abbia settato non opaco anche il JScrollPane..
    Non basta rendere non-opaco il JTextArea e non basta rendere non-opaco il JScrollPane in sé.
    Bisogna anche rendere non-opaco il JViewport che gestisce la "view" nel JScrollPane.

    tuoScrollPane.getViewport().setOpaque(false);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60
    Perfetto.. entrambi i consigli funzionano!!
    se posso chiedervi un'altra cosa..
    ora schiacciando un JButton vorrei che l'utente possa inserire il nome di una path e se presente questa venisse eliminata dalla JTextArea..
    E' possibile???

    grazie mille

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da parzi
    ora schiacciando un JButton vorrei che l'utente possa inserire il nome di una path e se presente questa venisse eliminata dalla JTextArea..
    "Inserire il nome" .... dove?

    Eliminare un testo "noto" da un JTextArea è possibile. Il modo più semplice è prendere il testo per intero come String (getText() ), usare i metodi di String (uno dei replace) per eliminare qualcosa, quindi risettare il testo completo nel JTextArea (setText() ).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60
    Per inserire in testo da tastiera utilizzo uno showInputDialog di JOptionPane.
    Perfetto grazie.. ora provo..

  7. #7
    certo che si può
    uno prima idea che mi verrebbe in mente è la seguente:
    codice:
    import java.util.StringTokenizer;
    /** @author Naruto 92 */
    public class RicercaPath
    {
        public static void main(String argv[]){
            String pathInseriti="path1\npath2\npath3"; //qui dovrai inserire il testo contenuto nella textarea ottenuto con il getText()
            String pathRichiesto="path2"; //il path richiesto dall'utente
            String appoggio=""; //una stringa di appoggio dove concatenare i path da reinserire nella textarea
            String token=null; //una stringa per salvarci il path attualmente scansionato
            StringTokenizer st=new StringTokenizer(pathInseriti); //istanziamo il "tokenizzatore" dicendogli di dividere i path contenuto nella textarea
            while(st.hasMoreTokens()){ //fin tanto che ci sono path
                token=st.nextToken(); //salviamo il path attualmente scansionato in token
                if(token.compareTo(pathRichiesto)!=0){ //confrontiamo tolen col path richiesto dall'utente 
                    appoggio+=token + "\n"; //se token e diverso da pathRichiesto lo concateniamo alla stringa appoggio
                }
            }
            System.out.println(appoggio); //qui setterai il testo della textarea col setText e come parametro gli passi appoggio
        }
    }
    azz andbin mi ha preceduto xd
    giusto, mi ero totalmente dimenticato del replace xd

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60
    remove.addActionListener (new ActionListener(){
    public void actionPerformed (ActionEvent event){
    String namePDFtoRemove = JOptionPane.showInputDialog("Insert the pdf name that you want cancel: ");
    if (Uploader.getVectorPath().contains(namePDFtoRemove )){
    Uploader.getVectorPath().remove(namePDFtoRemove);
    String containedText = ta3.getText();
    containedText.replaceFirst(namePDFtoRemove,"");
    ta3.setText(containedText);
    }
    }
    }
    );

    Questo è il codice.. allora VectorPath è un vettore di stringhe mentre il metodo getVectorPath è un metodo statico della classe Uploader che ritorna il mio vettore. Remove è il nome del mio JButton, mentre ta3 è la JTextArea dove le path sono inserite.
    Non capisco perchè così non funzione.. non entra nemmeno nel if nonostante la path inserita è giusta..

    Grazie..

  9. #9
    la struttura dati che utilizzi è un vettore (quello statico) o un array (quello dinamico) ?
    perche se fosse un vettore vuol dire che hai scritto tu stesso il metodo contains (cosi come il remove) e che quindi potrebbe esserci qualche errore li, altrimenti controlla attentamente che la path richiesta sia giusta e/o che sia realmente presente nel vettore/array

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60
    E' un vettore statico.. ma io non ho scritto il metodo contains e remove.. sull'api entrambi i metodi sono presenti per un elemento vector..
    Non capisco l'errore..

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