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

    [JAVA]Error:non-static variable

    Salve ragazzi sto usando la JTable di esempio preso dal sito della SUN,

    http://java.sun.com/docs/books/tutor...enderDemo.java

    sono riuscito a modificarlo/adattarlo per quello che mi serviva; adesso ho un solo problemi:
    Ho deciso di mettere in ascolto la chiusura della JFrame nel metodo createAndShowGUI() nel seguente modo:

    codice:
    frame.addWindowListener(new WindowAdapter()
            {
                    public void windowClosing(WindowEvent e)
                    {
                            System.out.println("Ciaoo");
    	    //int numRows = getRowCount();
                //int numCols = getColumnCount();
    
                for (int i=0; i < DimTabella; i++) 
    		{
                    	System.out.print("    row " + i + ":");
                    	for (int j=0; j < 5; j++) 
    			{
                    		System.out.print("  " + data[i][j]);
                    	}
                    	System.out.println();
               	 }
    		            System.out.println("--------------------------");
    		
                            System.exit(0);
                    }
            });
    Adesso per poter usare l'attributo data che era definito nella class MyTableModel ho deciso di definirla nella classe principale "public class TableRenderDemo" nel seguente modo:
    public Object data[][];

    l'errore che mi ritorna è il seguente:
    "non-static variable data cannot be referenced from a static context System.out.print(" "+ data[i][j]);"

    Come posso risolverlo??

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ma quel frame.addWindowListener... dove lo richiami? Nel metodo main della tua classe? Se sì, sbagliato: chiamalo nel costruttore.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    nel costruttore nn ho il JFrame, ho la "Jtable table", possi fare in questo modo:

    codice:
    table.addWindowListener(new WindowAdapter()
      .... 
      ....

    Ancora grazie

  4. #4
    Ho provato nel costruttore ma nn funziona, mi ritorna il seguente errore:

    symbol : method addWindoListener (<anonymous java.awt.event.WindowAdapter>)
    location : class javax.swing.JTable
    table.addWindowListener(new WindowAdapter()



    ciaoo

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Non puoi aggiungere un WindowListener ad un JTable... Dov'è che mostri sto JTable? Attacca il windowlistener alla classe appropriata, ossia in quella che estende JFrame...
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    In tutto questo si è persa la domanda che facevo all'inizio,...
    io chiedevo come posso fare in modo che l'attributo data[][] dichiarato nella classe TableRenderDemo come public Object data[][];
    possa essere vista anche nella classe createAndShowGUI() per nn avere l'errore:
    "non-static variable data cannot be referenced from a static context System.out.print(" "+ data[i][j]);"

    Grazie ancora

  7. #7
    Preciso che il frame.addWindowListener(new WindowAdapter()
    lo chiamo nel metodo createAndShowGUI()
    e se nn utilizzo l'attributo data[][] nn mi da nessun errore, quindi immagino che l'errore nn sia nella posizione in cui ascolto la chiusura della finestra, ma nella definizione di data[][]

    (l'attributo data[][] l'ho registrato come Object data[][] nella classe public class TableRenderDemo2 )


  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Passa un riferimento al TableRendererDemo alla classe createAndShowGuy
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  9. #9
    Scusa se sono tosto di capa ,...ma nn ho capito bene il suggerimento che mi hai dato


  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Ho letto il codice al sito della sun... e non mi è chiarissimo il tuo sistema... allora, il loro data[][] è schiaffato dentro una classe interna MyTableModel ed è, pergiunta, un campo privato...

    Posta l'intero codice della tua classe che facciamo prima.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.