Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136

    [java]Classi interne e accesso agli ogetti classe esterna

    Salve a tutti,
    ho il problema di accedere da una classe interna ad alcuni oggetti della classe estrena.

    codice:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    import java.awt.*;
    public class TextTest {
    	public static void main(String[] args){
    		MainFrame mainFrame=new MainFrame();
    		mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		mainFrame.setVisible(true);
    	}
    
    }
    class MainFrame extends JFrame{
    	public MainFrame(){
    		setTitle("Text Test");
    		setSize(DEF_W,DEF_H);
    		
    		//dichiaro panello
    		AppPanel appPanel=new AppPanel();
    		//add(appPanel,BorderLayout.SOUTH);
    		add(appPanel);
    	}
    	private int DEF_W=400;
    	private int DEF_H=300;
    }
    class AppPanel extends JPanel{
    	public AppPanel(){
    		JTextField textField_in=new JTextField(20);
    		add(textField_in);
    		//dichiaro pulsante
    		JButton button = new JButton("Invia");
    		//dichiaro azione
    		ActionInvia inviaAction=new ActionInvia();
    		//associo l'azione al pulsante
    		button.addActionListener(inviaAction);
    		//aggiungo il pulsante al pannello
    		add(button);
    		JTextField textField_out=new JTextField(20);
    		textField_out.setEditable(false);
    		add(textField_out);
    		
    	}
    	private class ActionInvia implements ActionListener{
    		public ActionInvia(){
    			
    		}
    		public void actionPerformed(ActionEvent e){
                                     textField_out.setText(textField_in.getText());
    			
    		}
    	}
    }
    eclipse mi segnala che gli oggetti non possono essere risolti?C'è qualcosa che non ho capito delle calssi interne?Qualcuno può darmi qualche suggerimento?grazie.

  2. #2
    Utente di HTML.it L'avatar di progAnd
    Registrato dal
    Jan 2012
    Messaggi
    119
    Sì, textField_in e textField_out devono essere campi private e non variabili locali.

    codice:
    class AppPanel extends JPanel{
            private JTextField textField_in;
            private JTextField textField_out;
    	public AppPanel(){
    		textField_in=new JTextField(20);
    		add(textField_in);
    		//dichiaro pulsante
    		JButton button = new JButton("Invia");
    		//dichiaro azione
    		ActionInvia inviaAction=new ActionInvia();
    		//associo l'azione al pulsante
    		button.addActionListener(inviaAction);
    		//aggiungo il pulsante al pannello
    		add(button);
    		textField_out=new JTextField(20);
    		textField_out.setEditable(false);
    		add(textField_out);
    		
    	}
    	private class ActionInvia implements ActionListener{
    		public ActionInvia(){
    			
    		}
    		public void actionPerformed(ActionEvent e){
                                     textField_out.setText(textField_in.getText());
    			
    		}
    	}
    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136

    [Risolto][java]Classi interne e accesso agli ogetti classe esterna

    Mi era sfuggito questo particolare.Grazie.

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.