Visualizzazione dei risultati da 1 a 8 su 8

Discussione: lettura JLabel

  1. #1

    lettura JLabel

    Salve, sto facendo un progetto e mi chiedevo se un JLabel Possa leggere da un file di testo e inoltre se un JLabel (magari lo stesso) possa apparire in un frame, o meglio se possa essere richiamato da un frame che non è il suo

  2. #2
    Semmai puoi leggere il file di testo e poi copiare il testo letto nella Jlabel.
    Se nell'altro JFrame hai il riferimento al JFrame che contiene la JLabel è normale che la puoi richiamare
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  3. #3
    potresti farmi un esempio pratico se non è troppo disturbo ??

  4. #4
    Ecco tre classi , poi ci vuoe un file nel mio caso txt (c'ho messo solo la parola casa),il jframe è autogeneato da netbeans:

    codice:
    package forum;
    
    import java.io.FileNotFoundException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    /**
     *
     * @author stefano
     */
    public class Label extends javax.swing.JFrame {
    
        /**
         * Creates new form Label
         */
        public Label() {
            initComponents();
            try {
                LeggiFile f=new LeggiFile("/home/stefano/Label.txt");
            } catch (FileNotFoundException ex) {
                Logger.getLogger(Label.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    
      
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
    
            jLabel2 = new javax.swing.JLabel();
    
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("Label");
    
            jLabel2.setText("(f.");
    
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(167, 167, 167)
                    .addComponent(jLabel2)
                    .addContainerGap(218, Short.MAX_VALUE))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(148, 148, 148)
                    .addComponent(jLabel2)
                    .addContainerGap(216, Short.MAX_VALUE))
            );
    
            pack();
        }// </editor-fold>                        
        
        public void setTitleLabel(String title){
            jLabel2.setText(title);
            
        }
        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) {
            /* Set the Nimbus look and feel */
            //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
            /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
             * For details see http://download.oracle.com/javase/tu...feel/plaf.html 
             */
            try {
                for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                    if ("Nimbus".equals(info.getName())) {
                        javax.swing.UIManager.setLookAndFeel(info.getClassName());
                        break;
                    }
                }
            } catch (ClassNotFoundException ex) {
                java.util.logging.Logger.getLogger(Label.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(Label.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(Label.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(Label.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            //</editor-fold>
    
            /* Create and display the form */
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    
                    new Label().setVisible(true);
                }
            });
        }
        // Variables declaration - do not modify                     
        private javax.swing.JLabel jLabel2;
        // End of variables declaration                   
    }
    classe LeggiFile:

    codice:
    package forum;
    import java.io.*;
    import java.util.*;
    /**
     *
     * @author stefano
     */
    public class LeggiFile{
        private Scanner sc;
        private String stringaLabel="";
        
        public LeggiFile(String path) throws FileNotFoundException{ //path è il percorso del file da cui recuperareil testo
            sc = new Scanner(new File(path));
            sc.useDelimiter("\n");        
            
            
        }
        
        public String testoPerLabel(){
            while(sc.hasNext()){
                stringaLabel+=(sc.next());
            }
            return stringaLabel;
        }
    	
        public static void main(String args[]) throws FileNotFoundException{
            LeggiFile f=new LeggiFile("/home/stefano/Label.txt");
           System.out.println(f.testoPerLabel())     ;
        }
    		    
    }

    e la classe per provare tutto
    ps creati prima il file di testo e cambia il path ....

    codice:
    package forum;
    
    import java.io.FileNotFoundException;
    
    /**
     *
     * @author stefano
     */
    public class ProvaLabel {
        public static void main(String args[]) throws FileNotFoundException{
             Label l=new Label();
             LeggiFile f=new LeggiFile("/home/stefano/Label.txt");
             l.setTitleLabel(f.testoPerLabel());
             l.setVisible(true);
        }
       
        
    }

  5. #5
    Grazie milleeeee lo proverò tra breve, spero vada bene

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da pippuccio76
    Ecco tre classi , poi ci vuoe un file nel mio caso txt (c'ho messo solo la parola casa),il jframe è autogeneato da netbeans:
    Fammi capire... A uno che non ha la più pallida idea di come usare una normale JLabel gli da guardare del codice auto-generato (orrendamente) da un ambiente di sviluppo, facendogli sbattere il muso contro il GroupLayout, uno dei più complicati layout manager presenti in Java?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Sono un neofita anche io e , se ho uno strumento che mi permette di fare un jframe in 10 secondi uso sicuramente quello ..... A domanda ho dato risposta , altrimenti stai collegato 24 ore al giorno e rispondi immediatamente te a tutti ....

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da pippuccio76
    Sono un neofita anche io e , se ho uno strumento che mi permette di fare un jframe in 10 secondi uso sicuramente quello .....
    Gli strumenti automatici per la creazione delle interfaccie sono da evitare (soprattutto per chi è agli inizi) perché generano codice sporco, complicato, poco leggibile e, soprattutto, poco mantenibile (e in programmazione la manutenibilità del codice è tutto: meno tempo impiego a capire il codice scritto da altri più sono contento ).

    Se vuoi realizzare GUI in Java ti conviene mollare l'editor visuale di NetBeans e imparare a farlo via codice: non è difficile come sembra, ti permette la massima libertà e puoi ottenere esattamente quello che hai in mente senza scrivere schifezze


    Originariamente inviato da pippuccio76
    A domanda ho dato risposta ,
    Certo, e la risposta che hai dato non è errata. E' solo il classico "sparare ad una mosca con un cannone"
    Rasoio di Occam is the way


    Originariamente inviato da pippuccio76
    altrimenti stai collegato 24 ore al giorno e rispondi immediatamente te a tutti ....
    Sul forum ci vengo quando mi capita, impegni lavorativi permettendo ^^ (e spesso anche durante una build, visto quello che dura di solito...). Non ho la pretesa di rispondere per primo o di rispondere a tutti: rispondo in base alle mie capacità

    Senza rancore
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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.