Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    45

    [JAVA] Errore in fase di esecuzione

    Salve, cos'è l'errore che ho messo nel titolo? Sto sclerando davvero... Quando compilo non ottengo nessun errore, ma quando eseguo...


    >javac Calculator.java
    >Exit code: 0
    >java -cp . Calculator
    Exception in thread "main" java.lang.NullPointerException
    at Grafica.work(Calculator.java:24)
    at Grafica.<init>(Calculator.java:20)
    at KDCalculator.main(Calculator.java:44)
    >Exit code: 1


    Eccovi il codice, ringrazio anticipatamente:

    codice:
    //Librerie
    import java.awt.*;				
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.JComponent.*; //Colore tasti
    
    class Grafica extends JFrame{
    
    	//Attributi
    	private JPanel b;
    	private JLabel l1;
            private JTextField t1;
    	
    	//Costruttore
    	public Grafica(){
    		//Istanza dei componenti
    		JPanel b = new JPanel();
    		JLabel l1 = new JLabel();
    		JTextField t1 = new JTextField("");
    		work();
    		
    }
            public void work(){
    		b.add(t1); //Aggiunta del textfield al pannello
    		b.add(l1); //Aggiunta del label al pannello
    		add(b); //Aggiunta del pannello alla finestra
    		
    		
    		
    		//Proprietà finestra
    		setSize(400,400);
    		setTitle("Calculator");
    		setVisible(true); //Finestra visibile
    		setResizable(false); //Finestra modificabili
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Chiude il processo con la X
    	
    }
    
    }
    //main 
    class Calculator{
    	public static void main (String args[]){
    	
    	Grafica c=new Grafica();
    	}
    	
    	}

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Riscrivi il costruttore come:
    codice:
    //Costruttore
    public Grafica(){
    	//Istanza dei componenti
    	b = new JPanel();
    	l1 = new JLabel();
    	t1 = new JTextField("");
    	work();
    		
    }

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: [JAVA] Errore in fase di esecuzione

    Originariamente inviato da Chunky2

    codice:
     
    class Grafica extends JFrame{
    
    	//Attributi
    	private JPanel b;
    	private JLabel l1;
            private JTextField t1;
    	
    	//Costruttore
    	public Grafica(){
    		//Istanza dei componenti
    		JPanel b = new JPanel();
    		JLabel l1 = new JLabel();
    		JTextField t1 = new JTextField("");
    E' un errore comunque a chi è alle prime armi.
    L'attributo 'b' è una cosa, la variabile locale 'b' è un'altra cosa e non c'entra nulla con l'attributo. Il 'b' creato dentro Grafica() nasce e muore li dentro. Tu devi fare riferimento al 'b' attributo
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    45
    Gentilissimi tutti e due, grazie, problema risolto ma ne sorge un altro...
    escludo il posizionare i componenti manualmente con il setBounds perché è abbastanza un casino... come faccio a scegliere il giusto Layout?

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da Chunky2
    escludo il posizionare i componenti manualmente con il setBounds perché è abbastanza un casino... come faccio a scegliere il giusto Layout?
    Studia i layout disponibili (es: BorderLayout, FlowLayout, BoxLayout, GridLayout ecc) e capisci le loro caratteristiche.

    Prendi carta e matita e disegna l'interfaccia che vuoi dare alla tua applicazione. Poi pensa a come annidare i layout managere per ottenere quell'effetto
    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.