Newsgroup: it.comp.java
Titolo: [OT] ma solo un po'... Netbeans

Ciao, chiedo innanzi tutto scusa perché la domanda riguarda più Netbeans 
come Java IDE piuttosto che lo Java puro.
Il problema è questo: fino a poco fa ho sempre creato le GUI con swing 
con pazienza e un semplice editor di testi con risultati quantomeno 
decenti. Mi trovavo però nella necessità di creare un pannello piuttosto 
complicato e sostanzioso (per capirci con circa 80 RadioButton) e un po' 
per pigrizia ho pensato di crearlo con il VisualEditor di NetBeans. Il 
pannello funziona perfettamente ma vorrei raccogliere i dati inseriti; 
come al solito ho iniziato a creare un metodo tipo ottieniDati(), ma 
quando cerco di chiamarlo da un'altra applicazione mi compare un 
messaggio d'errore che non riesce a trovare il metodo ottieniDati() 
nonostante sia public e come ho sempre fatto.
Chiedo se qualcuno di voi ha avuto un problema simile e come lo ha 
risolto e terrei come ultima ancora il consiglio "Riscrivi tutto il 
codice da capo con un editor di testi".
Grazie
Matteo

 nonostante sia public e come ho sempre fatto.
detta cosi' dovrebbe funzionare tutto. posta codice.

Posto una versione Lite del codice.
Codice della classe che estende JPanel e contiene i dati da salvare
public class Scheda extends javax.swing.JPanel {
     /** Creates new form Scheda */
     public Scheda() {
         System.out.println("Scheda");
         initComponents();
     }
     /** This method is called from within the constructor to
      * initialize the form.
      * WARNING: Do NOT modify this code. The content of this method is
      * always regenerated by the Form Editor.
      */
     @SuppressWarnings("unchecked")
     // <editor-fold defaultstate="collapsed" desc="Generated Code">
     private void initComponents() {
       //Qui ci sarebbe tutto  il codice creato da NetBeans riguardo
       //la parte grafica, non lo posto perché sono 1000 e più
       //righe di codice
     }// </editor-fold>
   public String ottieniDati() {
     StringBuffer risultato = new StringBuffer();
     String separatore = " ’ ";
     risultato.append(jRadioButton1.isSelected()+separatore);
     System.out.println(risultato.toString());
     return risultato.toString();
}
     // Variables declaration - do not modify
     // Altre 200 e più righe di codice create da NetBeans che vi risparmio
     // End of variables declaration
}
Chiamata dalla classe esterna
public class Dialogo extends JDialog {
	public static JPanel scheda;
	public Dialogo(JDialog principale, boolean modal, final int tipo) {
		super(principale, modal);
		...
		JPanel principale = new JPanel();
         	principale.setLayout(new BoxLayout(principale, 	 
BoxLayout.Y_AXIS));
         	getContentPane().add(principale);
		if (tipo == 0) {
			scheda = new Scheda();
		}
		JScrollPane pannello = new JScrollPane(scheda);
         	principale.add(pannello);
		...
		JButton salvaB = new JButton("Salva");
		salvaB.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if (scheda instanceof Scheda) {
					String ok = (Scheda)scheda.ottieniDati();
				...
				}
			...
			}
		});
		...
	}
	...
}
Spero sia chiaro...
Ciao
hybris ha scritto:


 					String ok = (Scheda)scheda.ottieniDati();
String ok = ((Scheda)scheda).ottieniDati();
                   ^                        ^

Grazie mille, intanto vado a prendere il badile e poi decido se 
sotterrarmi oppure provare a vedere se resiste di più del mio osso 
frontale...
hybris ha scritto:
