Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    131
    sto avendo un altro problema (DITEMI se devo cambiare discussione però, ho pensato visto che è collegata di inserirla qua)

    volevo mettere ora questo risultato del vettore in una finestrella, però fin a quando voglio stampare finestre con frasi pronte tutto ok ci riesco pero ora, che voglio stampare il risultato di questo vettore no...come devo procedere?


    codice:
    package Grafica;
    
    import Test.StampaVettore; //la classe dove carico il vettore n
    import javax.swing.*;   //librerie per finestre
    import java.awt.*;
    
    public class FinestraStampaVettore {
    
    		public static void main(String args[])
    		{
    		JFrame win;
    		win = new JFrame("Questa è l'intestazione della finestra");
    		
    		Container c = win.getContentPane();
    		c.add(new JLabel(n.stampa()));
    		
    		win.setSize(200,200);         //imponi la dimensione
    		win.setDefaultCloseOperation
    		(JFrame.EXIT_ON_CLOSE);      // significa che la x esce
    		win.setVisible(true);
    		}
    	}

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Trattandosi di un problema completamente differente (seppur collegato), ho diviso il post e aperto quindi una discussione separata.

    Cerca di spiegare meglio la problematica, comunque, perchè così non si capisce bene: cosa vuol dire, ad esempio, "stampare finestre con frasi pronte"?


    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    131
    grazie mille (devo dire mai vista tanta gentilezza in un forum cmq a parte i complimenti) con frasi pronte intendevo

    codice:
    c.add(new JLabel("Questo è il contenuto della finestra");

    ora ovviamente non voglio che mi esca più questa frase ma intendevo stampare il contenuto del vettore

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    131
    vi faccio notare l'errore dove sta caso mai non mi capite nella classe finestra (l'ultima) alla riga
    codice:
    c.add(new JLabel(n.stampa()));
    sicuramente ci sarà un errore spavento, io intendo richiamare il metodo stampa() con il vettore "n" apposto di una stringa

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Beh, ovviamente dovrai predisporre, nella classe Vettore, un metodo che ritorni un oggetto String che rappresenta ciò che vuoi vedere a video ed usarlo nel costruttore della JLabel.

    Esempio:

    codice:
    public String getStampa() {
       StringBuilder sb = new StringBuilder();
       for (i=0; i<v_nomi.lenght; i++){
          sb.append( v_nomi[i] );
       }
       return sb.toString();
    }
    Di conseguenza, lo userai in questo modo:

    codice:
    c.add( new JLabel(n.getStampa()) );
    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    131
    grazie per la risposta, mi continua a dare errore a questa riga
    codice:
    c.add(new JLabel(n.getStampa()));
    mi sottolinea la n e mi dice

    codice:
    n cannot be resolved
    che significa??

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Beh... significa che non hai né dichiarato, né istanziato il vettore "n". L'avevo dato per scontato visto i tuoi post precedenti.

    Ovviamente dovrai dichiarare ed istanzire un oggetto della classe Vettore (che, in quelle righe, tu avevi identificato con "n").


    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

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    131
    scusa l'ignoranza, ma io il vettore n lo instaziato nella classe StampaVettore, devo fare qualche richiamo anche nella classe Finestra? Non basta importare le classi in Finestra?

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da vide91
    scusa l'ignoranza, ma io il vettore n lo instaziato nella classe StampaVettore, devo fare qualche richiamo anche nella classe Finestra?
    Ovviamente sì. Sono due classi diverse, che non si conoscono l'una con l'altra e che possono essere istanziate separatamente in più copie.

    Non basta importare le classi in Finestra?
    L'import è solo una direttiva per il compilatore che gli dice dove trovare le classi (nota, le classi, non le istanze delle classi, che possono essere istanziate ovunque nel codice) che vengono usate nella classe che si sta definendo.


    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

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    131
    si ...più o meno il funzionamento lo capito mi sto imbrogliando per una semplice stampa...perchè io con questo codice creo una classe vettore
    codice:
    package elementiBase ;
    
    
    public class Vettore {
    	
    	private String [] v_nomi;
    
    	public String [] getV_nomi() {
    		return v_nomi;
    	}
    
    	public void setV_nomi(String [] v_nomi) {
    		this.v_nomi = v_nomi;
    	
    	}
    
    	
    	public String getStampa() {
    		int i =0;
    		   StringBuilder sb = new StringBuilder();
    		   for (i=0; i<3; i++){
    		      sb.append( v_nomi[i] );
    		   }
    		   return sb.toString();
    		}
    	
    	
    }
    ora invece genero un istanza della classe vettore

    codice:
    package Test;
    
    import elementiBase.Vettore;
    
    public class StampaVettore {
    
    
    	public static void main(String[] args) {
    			
    			Vettore n = new Vettore();
    			n.setV_nomi(new String[]{"anna","luca","corrado"});
    			n.getStampa() ;
    	}
    }

    ora io volevo SEMPLICEMENTE mostrare questo risultato (che sulla console esce) in una classe finestra, (come passaggi logici penso di starci su per giu, ma cosa c'è ancora che non va)

    codice:
    package Grafica;
    
    import Test.StampaVettore;
    import elementiBase.Vettore;
    import javax.swing.*;   //librerie per finestre
    import java.awt.*;
    
    public class FinestraStampaVettore {
    
    		public static void main(String args[])
    		{
    		JFrame win;
    		win = new JFrame("Questa è l'intestazione della finestra");
    		
    		Container c = win.getContentPane();
    		c.add(new JLabel(n.getStampa()));
    		
    		win.setSize(200,200);         //imponi la dimensione
    		win.setDefaultCloseOperation
    		(JFrame.EXIT_ON_CLOSE);     
    		win.setVisible(true);
    		}
    	}

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.