View Full Version : [Java] Passare le classi
Ho un problema, devo fare un demone che controlla dei file che contiene una interfaccia grafica che viene creata solo se si entra nella configurazione.
Per monitorare i file, configurare le cose , ecc... uso delle classi come contenitori di dati, io so che se passi la classe già creata a metodo dovrebbe modificare quella attuale e non fare una copia dell'oggetto.
Ora mi chiedo se io creo la mia grafica ( new GUI(Oggetto o , Oggetto o1,...) ), dovrebbe modificarmi la classe creata nel main e non farmi la copia giusto? Ma questo non accade :S
Ho un problema, devo fare un demone che controlla dei file che contiene una interfaccia grafica che viene creata solo se si entra nella configurazione.
Per monitorare i file, configurare le cose , ecc... uso delle classi come contenitori di dati, io so che se passi la classe già creata a metodo dovrebbe modificare quella attuale e non fare una copia dell'oggetto.
Ora mi chiedo se io creo la mia grafica ( new GUI(Oggetto o , Oggetto o1,...) ), dovrebbe modificarmi la classe creata nel main e non farmi la copia giusto? Ma questo non accade :SPurtroppo non è chiaro (a me) cosa devi fare di preciso.
Parlando in generale, se passi il reference di un oggetto ad un metodo, quest'ultimo è in grado di alterare lo stato dell'oggetto solo se nell'oggetto ci sono dei metodi che permettono di alterarlo (setter, ecc...).
Scusa per la confusione...
Allora ho la mia classe main e la classe GUI ( creata con il tool di netbeans ) , io voglio tenere nel main una classe chiamata CONFIGURAZIONE che contiene alcuni dati e passare questa alla GUI, così da modificare i dati graficamente.
Se io passo la classe new GUI(Configurazione c ), dovrebbe alterare l'oggetto in main o fa una copia?
Un'altra domanda, nel mio main ho definito un arraylist e un oggetto.
Come passo a un metodo statico questi due parametri?
Scusa per la confusione...
Allora ho la mia classe main e la classe GUI ( creata con il tool di netbeans ) , io voglio tenere nel main una classe chiamata CONFIGURAZIONE che contiene alcuni dati e passare questa alla GUI, così da modificare i dati graficamente.
Se io passo la classe new GUI(Configurazione c ), dovrebbe alterare l'oggetto in main o fa una copia?Quello che tu passi è un reference e basta, non una copia dell'oggetto.
Quindi bisogna vedere come è fatta la classe Configurazione e cosa ci devi fare con quel reference passato a GUI.
Scusa se sono un po' generico, ma ovviamente non posso sapere esattamente cosa stai facendo di preciso.
Questo è il codice nel main
PopupMenu p = new PopupMenu();
MenuItem menuItem = new MenuItem("Configura");
menuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
AzioneConfigura(d,conf);
}
});
p.add(menuItem);
MenuItem menuItem2 = new MenuItem("Esci");
menuItem2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
AzioniMenu(2);
}
});
p.add(menuItem2);
TrayIcon traybar = new TrayIcon(Toolkit.getDefaultToolkit().createImage(Main.class.getResource("add.GIF")), "ciao", p);
try {
SystemTray.getSystemTray().add(traybar);
} catch (AWTException e) {
e.printStackTrace();
}
poi il metodo per avviare la GUI
public static void AzioneConfigura(ArrayList d,Configurazione conf) {
GUI g = new GUI(d,GetConfigura());
g.setVisible(true);
}
solamente che io ho la dichiarazione delle variabili qua:
public class Main {
public ArrayList d = new ArrayList();
public Configurazione conf = new Configurazione("","","");
Percio nel metodo static main non mi lascia prendere e passarli alla GUI
come posso ovviare a questo problema?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.