ciao ragazzi ho un problemino che non riesco a risolvere...non so che cosa sbaglio....
vi faccio il sunto della mia applicazione che ho creato:

Ho TabbedPane con 3 finestrelle...nella prima finestra ci sono inseriti 2 JPanel che mi sono creato come classe a parte...

nella terza finestrella ci sono dei JButton che appena viene cliccato viene aperto u JFrame dove all'interno ci sono dei JPanel...

ora viene il bello...appena clicco sul tasto ok del frame aperto mi devo prendere un valore che e presente nel pannello della finestrella 1.

non so se sono stato chiare ma adesso vi posto il codice e vi evidenzio le parti piu importanti

questo e un pannello che va nella finestrella 1 e contiene altri 2 pannelli:
codice:
package gui;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.GridBagLayout;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.util.Date;
import java.util.Locale;

import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.CompoundBorder;


public class DatiPanel extends JPanel{
	
	private DaTiGeneraliPanel dgp;
	private ImportoCategoriaPanel icp;
	
	
	public DatiPanel(){
		
		dgp=new DaTiGeneraliPanel();
		icp=new ImportoCategoriaPanel();
		setLayout(new BorderLayout());
		add(dgp,BorderLayout.CENTER);
		add(icp,BorderLayout.NORTH);
	}

			
}
questo e la classe in cui mi dovrei prendere il valore....c'e il metodo evidenziato
codice:
package gui;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
import java.text.NumberFormat;
import java.lang.*;



public class ImportoCategoriaPanel extends JPanel implements ActionListener{
	
	JPanel importoLavoriPanel,categoriaPanel;
	JTextArea categorieSelezionate;
	JComboBox classeCategoria;
	JButton add,sub;
	JFormattedTextField importo;
	

	public ImportoCategoriaPanel(){
		
		importoLavoriPanel=new JPanel();
		categoriaPanel=new JPanel();
		categorieSelezionate=new JTextArea();
		categorieSelezionate.setEditable(false);
		classeCategoria=new JComboBox();
		add=new JButton(">>");
		sub=new JButton("<<");
		
		add.addActionListener(this);
		sub.addActionListener(this);
		
		importoLavoriPanel.setBorder(BorderFactory.createTitledBorder(
				BorderFactory.createLineBorder(Color.RED),
				"Importo Lavori"));
		
		JLabel preventivoLabel=new JLabel("preventivo");
		
	
		importo = new JFormattedTextField(new 
           InternationalFormatter(NumberFormat.getNumberInstance())
           {
              protected DocumentFilter getDocumentFilter()
              {
                 return filter;
              }
              private DocumentFilter filter = new IntFilter();
           });
		importo.setBorder(BorderFactory.createLoweredBevelBorder());
		importo.setValue(new Double(0.0));
     
		
		JPanel p1=new JPanel();
		p1.setLayout(new BorderLayout());
		p1.add(preventivoLabel,BorderLayout.WEST);
		p1.add(importo);
		importoLavoriPanel.setLayout(new BorderLayout());
		importoLavoriPanel.add(p1,BorderLayout.NORTH);
		
		categoriaPanel.setBorder(BorderFactory.createTitledBorder(
				BorderFactory.createLineBorder(Color.RED),
				"Categorie"));
		
		JPanel p2=new JPanel();
		
		classeCategoria.addItem("I-a");
		classeCategoria.addItem("I-b");
		classeCategoria.addItem("I-c");
		classeCategoria.addItem("I-d");
		classeCategoria.addItem("I-e");
		classeCategoria.addItem("I-f");
		classeCategoria.addItem("I-g");
		classeCategoria.addItem("II-a");
		classeCategoria.addItem("I-b");
		classeCategoria.addItem("I-c");
		classeCategoria.addItem("III-a");
		classeCategoria.addItem("III-b");
		classeCategoria.addItem("III-c");
		classeCategoria.addItem("IV-a");
		classeCategoria.addItem("IV-b");
		classeCategoria.addItem("IV-c");
		classeCategoria.addItem("V");
		classeCategoria.addItem("VI-a");
		classeCategoria.addItem("VI-b");
		classeCategoria.addItem("VII-a");
		classeCategoria.addItem("VII-b");
		classeCategoria.addItem("VII-c");
		classeCategoria.addItem("VIII");
		classeCategoria.addItem("IX-a");
		classeCategoria.addItem("IX-b");
		classeCategoria.addItem("IX-c");
		
		
		p2.setLayout(new GridLayout(3,1));
		p2.add(new JLabel("Classe-Categoria"));
		p2.add(classeCategoria);
		
		JPanel addSub=new JPanel();
		addSub.setLayout(new GridLayout(1,2));
		addSub.add(sub);
		addSub.add(add);
		
		p2.add(addSub);
		
		JPanel p3=new JPanel();
		p3.setLayout(new BorderLayout());
		p3.add(new JLabel("categorie selezionate"),BorderLayout.NORTH);
		p3.add(new JScrollPane(categorieSelezionate));
		
		categoriaPanel.setLayout(new GridLayout(1,2));
		categoriaPanel.add(p2);
		categoriaPanel.add(p3);
		
		
		setLayout(new GridLayout(1,2));
		add(categoriaPanel);
		add(importoLavoriPanel);
		
		
	}
	public String getClasseCategoria(){
		return categorieSelezionate.getText();
	}
	public double getImporto(){
		Object value = importo.getValue();
		String x=value.toString();
		return Double.parseDouble(x);
	}
	
	
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==add){
			categorieSelezionate.setText((String)classeCategoria.getSelectedItem());
			add.setEnabled(false);

		}
		else if(e.getSource()==sub){
			categorieSelezionate.setText("");
			add.setEnabled(true);
		}
	}
}
codice:
package gui;

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.border.Border;

import logica.*;


public class SicurezzaProgettazioneJFrame extends JFrame implements ActionListener {
	
	private OkAnnullaPanel okAnnullaPanel ;
	private MaggiorazioniPanel mp;
	private PrestazioneIncrementiPanel pic;
	private ButtonPrestazioniPanel bottoniPrestazioni;
	private Logica logica;
	static double totIncrementi;
	
	public SicurezzaProgettazioneJFrame(ButtonPrestazioniPanel bottoniPrestazioni,Logica logica){
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(400, 400);
		this.bottoniPrestazioni=bottoniPrestazioni;
		this.logica=logica;
		
		pic=new PrestazioneIncrementiPanel();
		okAnnullaPanel=new OkAnnullaPanel();
		mp=new MaggiorazioniPanel();
		
		
		okAnnullaPanel.getAnnulla().addActionListener(this);
		okAnnullaPanel.getOk().addActionListener(this);
		
		
		setLayout(new BorderLayout());
		Container c=this.getContentPane();
		c.add(pic,BorderLayout.NORTH);
		c.add(mp,BorderLayout.CENTER);
		c.add(okAnnullaPanel,BorderLayout.SOUTH);
		setVisible(true);
		
	}
	
	
	public void actionPerformed(ActionEvent e){
		if(e.getSource()==okAnnullaPanel.getOk()){
			ImportoCategoriaPanel icp=new ImportoCategoriaPanel();
			double importo=icp.getImporto(); //qui si trova l'errore. questa parte mi restituisce zero
			System.out.println(importo);
			String categoria="I-a";
			Map<JCheckBox,String>mapfasi=pic.getMapfasi();
			Iterator<JCheckBox>it=mapfasi.keySet().iterator();
			LinkedList<String>fasi=new LinkedList<String>();
			JCheckBox tmp=null;
			while(it.hasNext()){
				tmp=it.next();
				if(tmp.isSelected())
				{
					fasi.add(mapfasi.get(tmp));
				}	
			}
			LinkedList<String>incrementi=pic.getIncrementi();

			int contMaggiorazioni=0;
			LinkedList<JCheckBox>maggiorazioni=mp.getMaggiorazioni();
			Iterator<JCheckBox>it2=maggiorazioni.listIterator();
			JCheckBox tmp2=null;
			while(it2.hasNext()){
				tmp2=it2.next();
				if(tmp2.isSelected())
				{
					contMaggiorazioni++;
				}	
			}
			
			totIncrementi=logica.sommaIncrementi(incrementi);
			LinkedList<TabellaB2> risTabB2=logica.risTabellaB2(fasi,totIncrementi,contMaggiorazioni,importo,categoria);
			
			Iterator<TabellaB2>it3=risTabB2.listIterator();
			while(it3.hasNext()){
				TabellaB2 x=it3.next();
				System.out.println(x.getFase()+" "+x.getaliquotaDiApplicazione()+" "+x.getOnorario());
			}
			this.dispose();			
		}
		else if(e.getSource()==okAnnullaPanel.getAnnulla()){
			this.dispose();	
		}
	}
}

grazie ragazzi....conto sul vostro aiuto...