Autore |
Messaggio |
lukeman83
City Keys Owner!
Data iscrizione: venerdì 17 ottobre 2008, ore 15:59 Messaggi: 2472 Località: Gela-Catania
Karma: 0 punti
|
[Java] Impostare dei settaggi di default
Ciao, ho la necessità di impostare dei valori in alcune combo di un jpanel chiamato Linkpanel. Se lo faccio staticamente non ho nessun problema.Inserisco nel costruttore delle righe di codice oppurtune dopo jbInit() che inizializza il jpanel codice:
public LinkPanel(Properties PanelProperties, boolean showDuplBtn) { super(PanelProperties, false, showDuplBtn);
linkType = PanelProperties.getProperty("Title");
try { jbInit(); panelCapo1.cmbArea.addItem("Ciao"); for(int i=0;i<panelCapo1.cmbArea.getItemCount();i++) panelCapo1.cmbArea.removeItemAt(i); panelCapo2.cmbArea.addItem("Ciao"); for(int i=0;i<panelCapo2.cmbArea.getItemCount();i++) panelCapo2.cmbArea.removeItemAt(i); } catch (Exception e) { e.printStackTrace(); } }
così ho tolto i valori esistenti nelle combobox chiamate cmbArea ed ho inserito il valore Ciao. In pratica il LinkPanel è formato da due pannelli uguali chiamati panelCapo1 e panelCapo2.
Il problema sorge quando voglio impostare dinamicamente i valori delle combobox attraverso parametri passati dall'esterno. Nella classe MainFrame ho:
codice: public void propertyChange(PropertyChangeEvent evt) { Properties prop = (Properties)evt.getNewValue();
newLink(prop); } dove:
codice: private void newLink(Properties prop) { JPanel panelDati = null;
if (prop.getProperty("Title").equals("StrLnFs")) { Properties panelProp = new Properties(); panelProp.setProperty("Title", "StrLnFs"); panelProp.setProperty("HelpPath", getPath() + System.getProperty("file.separator") + Define.HELPDIR + Define.LNKFISPIANIFPAN_HTML); panelDati = new LinkPanel(panelProp, true); if (prop != null) ((LinkPanel) panelDati).riempiScheda(prop, true);
} else if (prop.getProperty("Title").equals("StrLnLg")) { Properties panelProp = new Properties(); panelProp.setProperty("Title", "StrLnLg"); panelProp.setProperty("HelpPath", getPath() + System.getProperty("file.separator") + Define.HELPDIR + Define.LNKLOGPIANIFPAN_HTML); panelDati = new LinkPanel(panelProp, true); if (prop != null) ((LinkPanel) panelDati).riempiScheda(prop, true); }
panelDati.addPropertyChangeListener(this); splitPane.setRightComponent(panelDati); }
In pratica cliccando sul pulsante inserisci (che viene rilevato dal metodo propertyChange() )si crea un LinkPanel per la realizzazione di un nuovo link che può essere fisico "StrLnFs" (siamo nella condizione prop.getProperty("Title").equals("StrLnFs")) o logico "StrLnLg" (siamo nella condizione prop.getProperty("Title").equals("StrLnLg")). Io voglio simulare il click del pulsante inserisci e quindi avere visibile un pannello nel caso di prop.getProperty("Title").equals("StrLnFs") con le combo impostate con valori che passo io. Come faccio a richiamare la creazione di questo pannello dato che nella classe MainFrame quando crea un newLink usa le proprietà ottenute dal PropertyChangeEvent?
Se non sono stato chiaro fatemi alcune domande...Grazie!
_________________ In attesa dell'estate gelese piena di sorprese...
La felicità non è avere quello che si desidera, ma desiderare quello che si ha!!!
|
mercoledì 15 aprile 2009, ore 11:37 |
|
|
ingnuccio
City Keys Owner!
Data iscrizione: sabato 5 gennaio 2008, ore 18:52 Messaggi: 1256
Karma: 10 punti
|
Re: [Java] Impostare dei settaggi di default
non capisco quando tu vuoi creare questo pannello!! Spiega meglio cosa vuoi fare perchè io ho capito quello che fa attualmente il programma ma non ho chiaro quello che vorresti fare tu!! I valori delle combo le vuoi passare a run time?!
_________________ Nulla si crea, nulla si distrugge, tutto si trasforma
http://www.nucciodipaola.it/ http://www.homatron.it/ http://www.fipavcaltanissetta.com/ http://www.srisc.com/
|
mercoledì 15 aprile 2009, ore 13:50 |
|
|
lukeman83
City Keys Owner!
Data iscrizione: venerdì 17 ottobre 2008, ore 15:59 Messaggi: 2472 Località: Gela-Catania
Karma: 0 punti
|
Re: [Java] Impostare dei settaggi di default
I valori li voglio passare come parametri quando chiamo il configuratore dal mio software. Attualmente stavo provando a farglieli impostare come "Ciao" così poi potevo sostituire la stringa "Ciao" con i miei parametri.In base al valore del parametro deve settarsi la combobox
_________________ In attesa dell'estate gelese piena di sorprese...
La felicità non è avere quello che si desidera, ma desiderare quello che si ha!!!
|
mercoledì 15 aprile 2009, ore 14:44 |
|
|
lukeman83
City Keys Owner!
Data iscrizione: venerdì 17 ottobre 2008, ore 15:59 Messaggi: 2472 Località: Gela-Catania
Karma: 0 punti
|
Re: [Java] Impostare dei settaggi di default
Io ho un software e un configuratore del software (che è quello che sto modificando). (Il codice che ho postato è quello del configuratore)
io richiamo una classe Launcher.java attraverso una funzionalità del mio software.. questa classe deve aprire il configuratore (che sto ottimizzando) e impostare certi valori secondo i parametri che passo. Nella classe Lancher instanzio un oggetto MainFrame settando opportunamente la linguetta e il nodo dell'albero.a questo punto mi servirebbe creare il LinkPanel con le combobox già impostate con i parametri che passo. codice:
public static MainFrame mf = null; if ((mf==null)||(!mf.isVisible())) { mf = new MainFrame(AccDb); mf.setDefaultCloseOperation(2); mf.setVisible(true); mf.treeTab.setSelectedIndex(1); mf.treeNps.setSelectionRow(2);
... }
_________________ In attesa dell'estate gelese piena di sorprese...
La felicità non è avere quello che si desidera, ma desiderare quello che si ha!!!
|
mercoledì 15 aprile 2009, ore 15:08 |
|
|
ingnuccio
City Keys Owner!
Data iscrizione: sabato 5 gennaio 2008, ore 18:52 Messaggi: 1256
Karma: 10 punti
|
Re: [Java] Impostare dei settaggi di default
Creati un metodo dentro la classe LinkPanel del tipo
setCombo(String item){
e qui vai a settare il combo }
naturalemente questo metodo lo puoi chiamare quando vuoi
_________________ Nulla si crea, nulla si distrugge, tutto si trasforma
http://www.nucciodipaola.it/ http://www.homatron.it/ http://www.fipavcaltanissetta.com/ http://www.srisc.com/
|
mercoledì 15 aprile 2009, ore 15:45 |
|
|
lukeman83
City Keys Owner!
Data iscrizione: venerdì 17 ottobre 2008, ore 15:59 Messaggi: 2472 Località: Gela-Catania
Karma: 0 punti
|
Re: [Java] Impostare dei settaggi di default
ok fin qui c'ero..ma
dopo aver implementato nella classe LinkPanel il metodo: codice: public void setCombo(String s1,String s2){ panelCapo1.cmbArea.addItem(s1); for(int i=0;i<panelCapo1.cmbArea.getItemCount();i++) panelCapo1.cmbArea.removeItemAt(i); panelCapo2.cmbArea.addItem(s2); for(int i=0;i<panelCapo2.cmbArea.getItemCount();i++) panelCapo2.cmbArea.removeItemAt(i); }
adesso.. nella classe Launcher poi devo fare così?
codice: public static MainFrame mf = null;
if ((mf==null)||(!mf.isVisible())) { mf = new MainFrame(AccDb); mf.setDefaultCloseOperation(2); mf.setVisible(true); mf.treeTab.setSelectedIndex(1); mf.treeNps.setSelectionRow(2);
private LinkPanel lp; Properties prop = new Properties(); private String s1="Ciao"; private String s2="Ciao";
lp=new LinkPanel(prop,true); lp.setCombo(s1,s2) }
è come se settassi un altro LinkPanel rispetto a quello che visualizzo perchè non accade nulla..
_________________ In attesa dell'estate gelese piena di sorprese...
La felicità non è avere quello che si desidera, ma desiderare quello che si ha!!!
|
mercoledì 15 aprile 2009, ore 15:53 |
|
|
ingnuccio
City Keys Owner!
Data iscrizione: sabato 5 gennaio 2008, ore 18:52 Messaggi: 1256
Karma: 10 punti
|
Re: [Java] Impostare dei settaggi di default
e certo scusa tu stai creando un nuovo linkPanel!! Mentre invece devi chimare il metodo setCombo nel linkPanel che è già creato e caricato nella grafica. Devi lavorare con il riferimento all'oggetto già creato
_________________ Nulla si crea, nulla si distrugge, tutto si trasforma
http://www.nucciodipaola.it/ http://www.homatron.it/ http://www.fipavcaltanissetta.com/ http://www.srisc.com/
|
mercoledì 15 aprile 2009, ore 16:07 |
|
|
lukeman83
City Keys Owner!
Data iscrizione: venerdì 17 ottobre 2008, ore 15:59 Messaggi: 2472 Località: Gela-Catania
Karma: 0 punti
|
Re: [Java] Impostare dei settaggi di default
perfetto..ed è questo il passaggio che mi manca...come devo chiamare il metodo nel linkPanel già creato e caricato nella grafica?
_________________ In attesa dell'estate gelese piena di sorprese...
La felicità non è avere quello che si desidera, ma desiderare quello che si ha!!!
|
mercoledì 15 aprile 2009, ore 16:16 |
|
|
ingnuccio
City Keys Owner!
Data iscrizione: sabato 5 gennaio 2008, ore 18:52 Messaggi: 1256
Karma: 10 punti
|
Re: [Java] Impostare dei settaggi di default
devi usare il riferimento all'oggetto linkPanel già creato
_________________ Nulla si crea, nulla si distrugge, tutto si trasforma
http://www.nucciodipaola.it/ http://www.homatron.it/ http://www.fipavcaltanissetta.com/ http://www.srisc.com/
|
mercoledì 15 aprile 2009, ore 16:39 |
|
|
lukeman83
City Keys Owner!
Data iscrizione: venerdì 17 ottobre 2008, ore 15:59 Messaggi: 2472 Località: Gela-Catania
Karma: 0 punti
|
Re: [Java] Impostare dei settaggi di default
mi fai un esempio? io avevo provato a fare codice: mf.panelDati.setCombo(s1,s2); ma penso ci sia qualcosa che non va...
_________________ In attesa dell'estate gelese piena di sorprese...
La felicità non è avere quello che si desidera, ma desiderare quello che si ha!!!
|
giovedì 16 aprile 2009, ore 8:33 |
|
|
ingnuccio
City Keys Owner!
Data iscrizione: sabato 5 gennaio 2008, ore 18:52 Messaggi: 1256
Karma: 10 punti
|
Re: [Java] Impostare dei settaggi di default
| | | | lukeman83 ha scritto: mi fai un esempio? io avevo provato a fare codice: mf.panelDati.setCombo(s1,s2); ma penso ci sia qualcosa che non va... | | | | |
Ad occhio mi pare che il riferimento lo hai preso giusto adesso. Prova ad aggiungere panelDati.addPropertyChangeListener(this); splitPane.setRightComponent(panelDati); Controlla se il metodo setCombo lo hai realizzato nel modo corretto
_________________ Nulla si crea, nulla si distrugge, tutto si trasforma
http://www.nucciodipaola.it/ http://www.homatron.it/ http://www.fipavcaltanissetta.com/ http://www.srisc.com/
|
giovedì 16 aprile 2009, ore 10:06 |
|
|
lukeman83
City Keys Owner!
Data iscrizione: venerdì 17 ottobre 2008, ore 15:59 Messaggi: 2472 Località: Gela-Catania
Karma: 0 punti
|
Re: [Java] Impostare dei settaggi di default
Ma nel codice iniziale che ti ho postato c'era già...come puoi notare in neretto..
public LinkPanel(Properties PanelProperties, boolean showDuplBtn) { super(PanelProperties, false, showDuplBtn);
linkType = PanelProperties.getProperty("Title");
try { jbInit(); panelCapo1.cmbArea.addItem("Ciao"); for(int i=0;i<panelCapo1.cmbArea.getItemCount();i++) panelCapo1.cmbArea.removeItemAt(i); panelCapo2.cmbArea.addItem("Ciao"); for(int i=0;i<panelCapo2.cmbArea.getItemCount();i++) panelCapo2.cmbArea.removeItemAt(i); } catch (Exception e) { e.printStackTrace(); } }
così ho tolto i valori esistenti nelle combobox chiamate cmbArea ed ho inserito il valore Ciao. In pratica il LinkPanel è formato da due pannelli uguali chiamati panelCapo1 e panelCapo2.
Il problema sorge quando voglio impostare dinamicamente i valori delle combobox attraverso parametri passati dall'esterno. Nella classe MainFrame ho:
codice: public void propertyChange(PropertyChangeEvent evt) { Properties prop = (Properties)evt.getNewValue();
newLink(prop); } dove:
codice: private void newLink(Properties prop) { JPanel panelDati = null;
if (prop.getProperty("Title").equals("StrLnFs")) { Properties panelProp = new Properties(); panelProp.setProperty("Title", "StrLnFs"); panelProp.setProperty("HelpPath", getPath() + System.getProperty("file.separator") + Define.HELPDIR + Define.LNKFISPIANIFPAN_HTML); panelDati = new LinkPanel(panelProp, true); if (prop != null) ((LinkPanel) panelDati).riempiScheda(prop, true);
} else if (prop.getProperty("Title").equals("StrLnLg")) { Properties panelProp = new Properties(); panelProp.setProperty("Title", "StrLnLg"); panelProp.setProperty("HelpPath", getPath() + System.getProperty("file.separator") + Define.HELPDIR + Define.LNKLOGPIANIFPAN_HTML); panelDati = new LinkPanel(panelProp, true); if (prop != null) ((LinkPanel) panelDati).riempiScheda(prop, true); }
panelDati.addPropertyChangeListener(this); splitPane.setRightComponent(panelDati); }
e il metodo combo l'ho implementato semplicemente così:
public void setCombo(String s1,String s2){ panelCapo1.cmbArea.addItem(s1); for(int i=0;i<panelCapo1.cmbArea.getItemCount();i++) panelCapo1.cmbArea.removeItemAt(i); panelCapo2.cmbArea.addItem(s2); for(int i=0;i<panelCapo2.cmbArea.getItemCount();i++) panelCapo2.cmbArea.removeItemAt(i); }
_________________ In attesa dell'estate gelese piena di sorprese...
La felicità non è avere quello che si desidera, ma desiderare quello che si ha!!!
|
giovedì 16 aprile 2009, ore 10:20 |
|
|
lukeman83
City Keys Owner!
Data iscrizione: venerdì 17 ottobre 2008, ore 15:59 Messaggi: 2472 Località: Gela-Catania
Karma: 0 punti
|
Re: [Java] Impostare dei settaggi di default
cmq il problema non credo che sia il metodo combo perchè quando sono nella classe Launcher e scrivo mf. non mi compare l'oggetto panelDati tra gli oggetti disponibili suggeriti quindi sbaglio qualcos'altro..
_________________ In attesa dell'estate gelese piena di sorprese...
La felicità non è avere quello che si desidera, ma desiderare quello che si ha!!!
|
giovedì 16 aprile 2009, ore 10:33 |
|
|
ingnuccio
City Keys Owner!
Data iscrizione: sabato 5 gennaio 2008, ore 18:52 Messaggi: 1256
Karma: 10 punti
|
Re: [Java] Impostare dei settaggi di default
se non ti compare vuol dire che non è quello il riferimento!! Devi cercare il riferimento corretto
_________________ Nulla si crea, nulla si distrugge, tutto si trasforma
http://www.nucciodipaola.it/ http://www.homatron.it/ http://www.fipavcaltanissetta.com/ http://www.srisc.com/
|
giovedì 16 aprile 2009, ore 13:23 |
|
|
lukeman83
City Keys Owner!
Data iscrizione: venerdì 17 ottobre 2008, ore 15:59 Messaggi: 2472 Località: Gela-Catania
Karma: 0 punti
|
Re: [Java] Impostare dei settaggi di default
| | | | lukeman83 ha scritto: Ma nel codice iniziale che ti ho postato c'era già...come puoi notare in neretto..
public LinkPanel(Properties PanelProperties, boolean showDuplBtn) { super(PanelProperties, false, showDuplBtn);
linkType = PanelProperties.getProperty("Title");
try { jbInit(); panelCapo1.cmbArea.addItem("Ciao"); for(int i=0;i<panelCapo1.cmbArea.getItemCount();i++) panelCapo1.cmbArea.removeItemAt(i); panelCapo2.cmbArea.addItem("Ciao"); for(int i=0;i<panelCapo2.cmbArea.getItemCount();i++) panelCapo2.cmbArea.removeItemAt(i); } catch (Exception e) { e.printStackTrace(); } }
così ho tolto i valori esistenti nelle combobox chiamate cmbArea ed ho inserito il valore Ciao. In pratica il LinkPanel è formato da due pannelli uguali chiamati panelCapo1 e panelCapo2.
Il problema sorge quando voglio impostare dinamicamente i valori delle combobox attraverso parametri passati dall'esterno. Nella classe MainFrame ho:
codice: public void propertyChange(PropertyChangeEvent evt) { Properties prop = (Properties)evt.getNewValue();
newLink(prop); } dove:
codice: private void newLink(Properties prop) { JPanel panelDati = null;
if (prop.getProperty("Title").equals("StrLnFs")) { Properties panelProp = new Properties(); panelProp.setProperty("Title", "StrLnFs"); panelProp.setProperty("HelpPath", getPath() + System.getProperty("file.separator") + Define.HELPDIR + Define.LNKFISPIANIFPAN_HTML); panelDati = new LinkPanel(panelProp, true); if (prop != null) ((LinkPanel) panelDati).riempiScheda(prop, true);
} else if (prop.getProperty("Title").equals("StrLnLg")) { Properties panelProp = new Properties(); panelProp.setProperty("Title", "StrLnLg"); panelProp.setProperty("HelpPath", getPath() + System.getProperty("file.separator") + Define.HELPDIR + Define.LNKLOGPIANIFPAN_HTML); panelDati = new LinkPanel(panelProp, true); if (prop != null) ((LinkPanel) panelDati).riempiScheda(prop, true); }
panelDati.addPropertyChangeListener(this); splitPane.setRightComponent(panelDati); }
e il metodo combo l'ho implementato semplicemente così:
public void setCombo(String s1,String s2){ panelCapo1.cmbArea.addItem(s1); for(int i=0;i<panelCapo1.cmbArea.getItemCount();i++) panelCapo1.cmbArea.removeItemAt(i); panelCapo2.cmbArea.addItem(s2); for(int i=0;i<panelCapo2.cmbArea.getItemCount();i++) panelCapo2.cmbArea.removeItemAt(i); } | | | | |
ho trovato il problema... io devo impostare le combo box del LinkPanel. Ma quando viene istanziato l'oggetto della classe LinkPanel viene assegnato ad un JPanel ovvero panelDati: Inoltre il campo panelDati è un Jpanel definito all'interno del metodo e per questo non lo vedevo dalla classe Launcher. Adesso il problema di visibilità è facile da risolvere perchè posso dichiararlo all'esterno del metodo ma resta il fatto che l'oggetto a cui assegno un LinkPanel è un Jpanel. Come risolvo il problema?
_________________ In attesa dell'estate gelese piena di sorprese...
La felicità non è avere quello che si desidera, ma desiderare quello che si ha!!!
|
venerdì 17 aprile 2009, ore 11:38 |
|
|