Ajuda urgente

oi pessaoal do pj, criei uma aplicação k permite criar tabelas dinamicamente, so k em cada celula da minha tabela apareça um jcombobox com imagens para o usuario escolher,eu consigo ver a jcombobox na minha tabela so k ela ñ mostra as imagens,alguem sabe kal é o problema aki fica o meu código:

este codigo esta na minha classe principal e permite a criação da combobox, e aplica esta combobox na tabela

CaixaCombinacao combobox = new CaixaCombinacao();
DefaultCellEditor editor = new DefaultCellEditor(combobox);
tabelatarefa.setDefaultEditor(Object.class, editor);

a classe CaixaCombinacao é a seguinte:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class CaixaCombinacao extends JComboBox{
	ImageIcon[] images;
    String[] linguagens = {"x", "check"};
	JComboBox lista;
	
	
public JComboBox CaixaCombinacao(){
	images = new ImageIcon[linguagens.length];
    Integer[] intArray = new Integer[linguagens.length];
    for (int i = 0; i < linguagens.length; i++) {
    	intArray[i] = new Integer(i);
        images[i] = createImageIcon(linguagens[i] + ".gif");
    }
	lista = new JComboBox(images);
	lista.setMaximumRowCount(2);
	ComboBoxRenderer renderer= new ComboBoxRenderer();
	lista.setRenderer(renderer);
	return this;
		
}
protected static ImageIcon createImageIcon(String path) {
        java.net.URL imgURL = CaixaCombinacao.class.getResource(path);
        System.out.println(imgURL);
        return new ImageIcon(imgURL);
        
         
}
class ComboBoxRenderer extends JLabel
                           implements ListCellRenderer {
	

        public ComboBoxRenderer() {
            setOpaque(false);
            setHorizontalAlignment(CENTER);
            setVerticalAlignment(CENTER);
        }

    
        public Component getListCellRendererComponent(
                                           JList list,
                                           Object value,
                                           int index,
                                           boolean isSelected,
                                           boolean cellHasFocus) {
            //Get the selected index. (The index param isn't
            //always valid, so just use the value.)
            int selectedIndex = ((Integer)value).intValue();

            if (isSelected) {
                setBackground(list.getSelectionBackground());
                setForeground(list.getSelectionForeground());
            } else {
                setBackground(list.getBackground());
                setForeground(list.getForeground());
            }
			ImageIcon icon = images[selectedIndex];
            System.out.println(icon);
            String pet = linguagens[selectedIndex];
            setIcon(icon);
            return this;
        }
}
}

Olá, vc tem que mexer no render… dá uma olhada aqui

ñ tou conseguindo perceber o k tenho k mudar???

Olá, me corrija se eu estiver errado, mas vc crio uma classe que estende JComboBox, ai dentro desta classe se tem um JComboBox, na instanciação vc instanceia e configura o membro da sua classe… mas no retorno vc retorna a sua classe???

[quote=“jmiguelrfreitas”] CaixaCombinacao combobox = new CaixaCombinacao(); DefaultCellEditor editor = new DefaultCellEditor(combobox); tabelatarefa.setDefaultEditor(Object.class, editor);
a classe CaixaCombinacao é a seguinte:

[code]
public class CaixaCombinacao extends JComboBox{
ImageIcon[] images;
String[] linguagens = {"x", "check"};
JComboBox lista;

public JComboBox CaixaCombinacao(){
images = new ImageIcon[linguagens.length];
Integer[] intArray = new Integer[linguagens.length];
for (int i = 0; i < linguagens.length; i++) {
intArray[i] = new Integer(i);
images[i] = createImageIcon(linguagens[i] + ".gif");
}
lista = new JComboBox(images);
lista.setMaximumRowCount(2);
ComboBoxRenderer renderer= new ComboBoxRenderer();
lista.setRenderer(renderer);
return this;

}

[/code][/quote]

Eu aconseharia a fazer o seguinte, na sua classe vc estigue e membro “lista”, e tudo que vc faz com ela, faça com o this. Entendeu?

Outra… no construtor vc não precisa colocar tipo de retorno… só “public CaixaCombinacao()” e não precisa de return…

ñ funcionou, da um erro muito estranho.

Tou mesmo muito aflito ALGUEM ME AJUDE!!!

Que erro que deu??? posta pra gente ver… vê se teu codigo ficou assim:

[code]
import javax.swing.;
import java.awt.
;
import java.awt.event.*;

public class CaixaCombinacao extends JComboBox{
ImageIcon[] images;
String[] linguagens = {"x", "check"};

public CaixaCombinacao(){
images = new ImageIcon[linguagens.length];
Integer[] intArray = new Integer[linguagens.length];
for (int i = 0; i < linguagens.length; i++) {
intArray[i] = new Integer(i);
images[i] = createImageIcon(linguagens[i] + ".gif");
this.addItem(images[i]);
}
this.setMaximumRowCount(2);
ComboBoxRenderer renderer= new ComboBoxRenderer();
this.setRenderer(renderer);
}
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = CaixaCombinacao.class.getResource(path);
System.out.println(imgURL);
return new ImageIcon(imgURL);
}
class ComboBoxRenderer extends JLabel
implements ListCellRenderer {

    public ComboBoxRenderer&#40;&#41; &#123;
        setOpaque&#40;false&#41;;
        setHorizontalAlignment&#40;CENTER&#41;;
        setVerticalAlignment&#40;CENTER&#41;;
    &#125;


    public Component getListCellRendererComponent&#40;
                                       JList list,
                                       Object value,
                                       int index,
                                       boolean isSelected,
                                       boolean cellHasFocus&#41; &#123;
        //Get the selected index. &#40;The index param isn't
        //always valid, so just use the value.&#41;
        int selectedIndex = &#40;&#40;Integer&#41;value&#41;.intValue&#40;&#41;;

        if &#40;isSelected&#41; &#123;
            setBackground&#40;list.getSelectionBackground&#40;&#41;&#41;;
            setForeground&#40;list.getSelectionForeground&#40;&#41;&#41;;
        &#125; else &#123;
            setBackground&#40;list.getBackground&#40;&#41;&#41;;
            setForeground&#40;list.getForeground&#40;&#41;&#41;;
        &#125;
     ImageIcon icon = images&#91;selectedIndex&#93;;
        System.out.println&#40;icon&#41;;
        String pet = linguagens&#91;selectedIndex&#93;;
        setIcon&#40;icon&#41;;
        return this;
    &#125;

}
} [/code]

esse erro acontece kando tento ver o k ta na combobox:

file&#58;/C&#58;/Documents%20and%20Settings/MiguelFreitas/Desktop/poseidon&#40;2&#41;/poseidontabelasjuntas/x.gif
file&#58;/C&#58;/Documents%20and%20Settings/MiguelFreitas/Desktop/poseidon&#40;2&#41;/poseidontabelasjuntas/check.gif

tarOK_actionPerformed&#40;ActionEvent e&#41; called.
Exception in thread &quot;AWT-EventQueue-0&quot; java.lang.ClassCastException&#58; javax.swing.ImageIcon at CaixaCombinacao$ComboBoxRenderer.getListCellRendererComponent&#40;CaixaCombinacao.java&#58;45&#41;
        at javax.swing.plaf.basic.BasicListUI.updateLayoutState&#40;BasicListUI.java&#58;1148&#41;
        at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState&#40;BasicListUI.java&#58;1098&#41;
        at javax.swing.plaf.basic.BasicListUI$Handler.valueChanged&#40;BasicListUI.java&#58;2219&#41;
        at javax.swing.DefaultListSelectionModel.fireValueChanged&#40;DefaultListSelectionModel.java&#58;187&#41;
        at javax.swing.DefaultListSelectionModel.fireValueChanged&#40;DefaultListSelectionModel.java&#58;167&#41;
        at javax.swing.DefaultListSelectionModel.fireValueChanged&#40;DefaultListSelectionModel.java&#58;214&#41;
        at javax.swing.DefaultListSelectionModel.changeSelection&#40;DefaultListSelectionModel.java&#58;408&#41;
        at javax.swing.DefaultListSelectionModel.changeSelection&#40;DefaultListSelectionModel.java&#58;417&#41;
        at javax.swing.DefaultListSelectionModel.removeSelectionIntervalImpl&#40;Def
aultListSelectionModel.java&#58;510&#41;
        at javax.swing.DefaultListSelectionModel.clearSelection&#40;DefaultListSelectionModel.java&#58;422&#41;
        at javax.swing.JList.clearSelection&#40;JList.java&#58;1578&#41;
        at javax.swing.plaf.basic.BasicComboPopup.setListSelection&#40;BasicComboPopup.java&#58;1110&#41;
        at javax.swing.plaf.basic.BasicComboPopup.show&#40;BasicComboPopup.java&#58;188&#41;

        at javax.swing.plaf.basic.BasicComboPopup.togglePopup&#40;BasicComboPopup.java&#58;1097&#41;
        at javax.swing.plaf.basic.BasicComboPopup$Handler.mousePressed&#40;BasicComboPopup.java&#58;802&#41;
        at java.awt.AWTEventMulticaster.mousePressed&#40;AWTEventMulticaster.java&#58;222&#41;
        at java.awt.Component.processMouseEvent&#40;Component.java&#58;5485&#41;
        at javax.swing.JComponent.processMouseEvent&#40;JComponent.java&#58;3093&#41;
        at java.awt.Component.processEvent&#40;Component.java&#58;5253&#41;
        at java.awt.Container.processEvent&#40;Container.java&#58;1966&#41;
        at java.awt.Component.dispatchEventImpl&#40;Component.java&#58;3955&#41;
        at java.awt.Container.dispatchEventImpl&#40;Container.java&#58;2024&#41;
        at java.awt.Component.dispatchEvent&#40;Component.java&#58;3803&#41;
        at javax.swing.plaf.basic.BasicTableUI$Handler.repostEvent&#40;BasicTableUI.java&#58;868&#41;
        at javax.swing.plaf.basic.BasicTableUI$Handler.adjustFocusAndSelection&#40;B
asicTableUI.java&#58;924&#41;
        at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed&#40;BasicTableUI.java&#58;889&#41;
        at java.awt.AWTEventMulticaster.mousePressed&#40;AWTEventMulticaster.java&#58;222&#41;
        at java.awt.Component.processMouseEvent&#40;Component.java&#58;5485&#41;
        at javax.swing.JComponent.processMouseEvent&#40;JComponent.java&#58;3093&#41;
        at java.awt.Component.processEvent&#40;Component.java&#58;5253&#41;
        at java.awt.Container.processEvent&#40;Container.java&#58;1966&#41;
        at java.awt.Component.dispatchEventImpl&#40;Component.java&#58;3955&#41;
        at java.awt.Container.dispatchEventImpl&#40;Container.java&#58;2024&#41;
        at java.awt.Component.dispatchEvent&#40;Component.java&#58;3803&#41;
        at java.awt.LightweightDispatcher.retargetMouseEvent&#40;Container.java&#58;4212&#41;
        at java.awt.LightweightDispatcher.processMouseEvent&#40;Container.java&#58;3889&#41;

        at java.awt.LightweightDispatcher.dispatchEvent&#40;Container.java&#58;3822&#41;
        at java.awt.Container.dispatchEventImpl&#40;Container.java&#58;2010&#41;
        at java.awt.Window.dispatchEventImpl&#40;Window.java&#58;1766&#41;
        at java.awt.Component.dispatchEvent&#40;Component.java&#58;3803&#41;
        at java.awt.EventQueue.dispatchEvent&#40;EventQueue.java&#58;463&#41;
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy&#40;EventDispatchThread.java&#58;234&#41;
        at java.awt.EventDispatchThread.pumpEventsForHierarchy&#40;EventDispatchThread.java&#58;163&#41;
        at java.awt.EventDispatchThread.pumpEvents&#40;EventDispatchThread.java&#58;157&#41;

        at java.awt.EventDispatchThread.pumpEvents&#40;EventDispatchThread.java&#58;149&#41;

        at java.awt.EventDispatchThread.run&#40;EventDispatchThread.java&#58;110&#41;
Exception in thread &quot;AWT-EventQueue-0&quot; java.lang.NullPointerException
        at CaixaCombinacao$ComboBoxRenderer.getListCellRendererComponent&#40;CaixaCombinacao.java&#58;45&#41;
        at javax.swing.plaf.basic.BasicComboBoxUI.paintCurrentValue&#40;BasicComboBoxUI.java&#58;1052&#41;
        at javax.swing.plaf.metal.MetalComboBoxUI.paintCurrentValue&#40;MetalComboBoxUI.java&#58;66&#41;
        at javax.swing.plaf.basic.BasicComboBoxUI.paint&#40;BasicComboBoxUI.java&#58;850&#41;
        at javax.swing.plaf.metal.MetalComboBoxUI.paint&#40;MetalComboBoxUI.java&#58;45&#41;

        at javax.swing.plaf.ComponentUI.update&#40;ComponentUI.java&#58;142&#41;
        at javax.swing.JComponent.paintComponent&#40;JComponent.java&#58;740&#41;
        at javax.swing.JComponent.paint&#40;JComponent.java&#58;1003&#41;
        at javax.swing.JComponent.paintWithOffscreenBuffer&#40;JComponent.java&#58;4930&#41;

        at javax.swing.JComponent.paintDoubleBuffered&#40;JComponent.java&#58;4883&#41;
        at javax.swing.JComponent._paintImmediately&#40;JComponent.java&#58;4826&#41;
        at javax.swing.JComponent.paintImmediately&#40;JComponent.java&#58;4633&#41;
        at javax.swing.RepaintManager.paintDirtyRegions&#40;RepaintManager.java&#58;451&#41;

        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run&#40;SystemEventQueueUtilities.java&#58;114&#41;
        at java.awt.event.InvocationEvent.dispatch&#40;InvocationEvent.java&#58;209&#41;
        at java.awt.EventQueue.dispatchEvent&#40;EventQueue.java&#58;461&#41;
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy&#40;EventDispatchThread.java&#58;234&#41;
        at java.awt.EventDispatchThread.pumpEventsForHierarchy&#40;EventDispatchThread.java&#58;163&#41;
        at java.awt.EventDispatchThread.pumpEvents&#40;EventDispatchThread.java&#58;157&#41;

        at java.awt.EventDispatchThread.pumpEvents&#40;EventDispatchThread.java&#58;149&#41;

        at java.awt.EventDispatchThread.run&#40;EventDispatchThread.java&#58;110&#41;

Este erro é que vc tá tentando fazer um Cast onde não dá… vê na linha 45, que linha que é… é possivel deste erro:

int selectedIndex = &#40;&#40;Integer&#41;value&#41;.intValue&#40;&#41;; 

o value pode estar como uma String… ou

setIcon&#40;icon&#41;; 

apesar que neste ultimo o comum é dar nullPointer… mas dá um aolhada aê, coloca um System.out antes do primerio…

eu axo k ñ consegui perceber muito bem o k voce ker dizer, mas ja consegui ver k o erro é realmente em:

int selectedIndex = &#40;&#40;Integer&#41;value&#41;.intValue&#40;&#41;;

mas ñ tou vendo como posso resolver, eu ja fiz um “System.out…”, mas ñ mostra nada…

se voce kiser e puder eu posso passar todo o meu codigo pra voce caso voce keira dar uma olhada

Olá, faz seguinte… ao inves de vc fazer isto:

int selectedIndex = &#40;&#40;Integer&#41;value&#41;.intValue&#40;&#41;;

faça isto:

int selectedIndex = index;

se não der certo, post o codigo… mas o System.out antes desta linha não printa nada!!!

ja fiz o k voce diz, agora ja vejo as imagens mas kando tento escolher da este erro:
[/code]
file:/C:/Documents%20and%20Settings/MiguelFreitas/Desktop/x.gif
file:/C:/Documents%20and%20Settings/MiguelFreitas/Desktop/check.gif

tarOK_actionPerformed(ActionEvent e) called.
[Ljavax.swing.ImageIcon;@47a0d4
[Ljavax.swing.ImageIcon;@47a0d4
[Ljavax.swing.ImageIcon;@47a0d4
[Ljavax.swing.ImageIcon;@47a0d4
[Ljavax.swing.ImageIcon;@47a0d4
Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException:
-1
at CaixaCombinacao$ComboBoxRenderer.getListCellRendererComponent(CaixaCombinacao.java:57)
at javax.swing.plaf.basic.BasicComboBoxUI.paintCurrentValue(BasicComboBoxUI.java:1059)
at javax.swing.plaf.metal.MetalComboBoxUI.paintCurrentValue(MetalComboBoxUI.java:66)
at javax.swing.plaf.basic.BasicComboBoxUI.paint(BasicComboBoxUI.java:850)[Ljavax.swing.ImageIcon;@47a0d4

    at javax.swing.plaf.metal.MetalComboBoxUI.paint(MetalComboBoxUI.java:45)

    at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
    at javax.swing.JComponent.paintComponent(JComponent.java:740)
    at javax.swing.JComponent.paint(JComponent.java:1003)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JViewport.paint(JViewport.java:728)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JLayeredPane.paint(JLayeredPane.java:559)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4930)

    at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4883)
    at javax.swing.JComponent._paintImmediately(JComponent.java:4826)
    at javax.swing.JComponent.paintImmediately(JComponent.java:4633)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:451)

    at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:114)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException:
-1
at CaixaCombinacao$ComboBoxRenderer.getListCellRendererComponent(CaixaCombinacao.java:57)
at javax.swing.plaf.basic.BasicComboBoxUI.paintCurrentValue(BasicComboBoxUI.java:1059)
at javax.swing.plaf.metal.MetalComboBoxUI.paintCurrentValue(MetalComboBoxUI.java:66)
at javax.swing.plaf.basic.BasicComboBoxUI.paint(BasicComboBoxUI.java:850)
at javax.swing.plaf.metal.MetalComboBoxUI.paint(MetalComboBoxUI.java:45)

    at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
    at javax.swing.JComponent.paintComponent(JComponent.java:740)
    at javax.swing.JComponent.paint(JComponent.java:1003)
    at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4930)

    at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4883)
    at javax.swing.JComponent._paintImmediately(JComponent.java:4826)
    at javax.swing.JComponent.paintImmediately(JComponent.java:4633)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:451)

    at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:114)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

[Ljavax.swing.ImageIcon;@47a0d4
Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException:
-1
at CaixaCombinacao$ComboBoxRenderer.getListCellRendererComponent(CaixaCombinacao.java:57)
at javax.swing.plaf.basic.BasicComboBoxUI.paintCurrentValue(BasicComboBoxUI.java:1052)
at javax.swing.plaf.metal.MetalComboBoxUI.paintCurrentValue(MetalComboBoxUI.java:66)
at javax.swing.plaf.basic.BasicComboBoxUI.paint(BasicComboBoxUI.java:850
)
at javax.swing.plaf.metal.MetalComboBoxUI.paint(MetalComboBoxUI.java:45)

    at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
    at javax.swing.JComponent.paintComponent(JComponent.java:740)
    at javax.swing.JComponent.paint(JComponent.java:1003)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JViewport.paint(JViewport.java:728)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JLayeredPane.paint(JLayeredPane.java:559)
    at javax.swing.JComponent.paintChildren(JComponent.java:840)
    at javax.swing.JComponent.paint(JComponent.java:1012)
    at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4930)

    at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4883)
    at javax.swing.JComponent._paintImmediately(JComponent.java:4826)
    at javax.swing.JComponent.paintImmediately(JComponent.java:4633)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:451)

    at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:114)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

a minha classe principal é essa:

/****************************************************************/
/*                      Poseidon	                            */
/*                                                              */
/****************************************************************/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.table.*;
/**
 * Summary description for Poseidon
 *2052102
 */
public class Poseidon extends JFrame
&#123;
	// Variables declaration
	private JTabbedPane jTabbedPane1;
	//-----
	private JPanel contentPane, paineltabela, painelgrafo, painelvariavel, paineltarefa;
	//-----
	private JTable tabelavariavel,tabelatarefa, tabelateste;
	//-----
	private JScrollPane scrollvariavel, scrolltarefa;
	//-----
	private int totallinhas, alt, al, linhastarefa,cont, linhas, tamanholinhas, 
				controlalinhas, index, contastring;
	//-----
	private String variavel;
	//-----
	private JComboBox combobox;
	//-----
	JMenuItem sair, abrir, guardar, miadtarefa, miadvariavel;
	//-----
	JTable &#91;&#93; tabelasvar = new JTable&#91;30&#93;;
	
	//-----
	JFrame w;
	//-----

	
	// End of variables declaration


	public Poseidon&#40;&#41;
	&#123;
		super&#40;&quot;Poseidon&quot;&#41;;
		initializeComponent&#40;&#41;;
		this.setVisible&#40;true&#41;;
	&#125;

	/**
	 * This method is called from within the constructor to initialize the form.
	 * WARNING&#58; Do NOT modify this code. The content of this method is always regenerated
	 * by the Windows Form Designer. Otherwise, retrieving design might not work properly.
	 * Tip&#58; If you must revise this method, please backup this GUI file for JFrameBuilder
	 * to retrieve your design properly in future, before revising this method.
	 */
	private void initializeComponent&#40;&#41;
	&#123;
		
		JMenuBar barra = new JMenuBar&#40;&#41;;
		setJMenuBar&#40;barra&#41;;
		
		TratBarra trat = new TratBarra&#40;&#41;;
		tabelavariavel = new JTable&#40;&#41;;
		tabelatarefa = new JTable&#40;&#41;;
		
		tabelavariavel.getTableHeader&#40;&#41;.setReorderingAllowed&#40;false&#41;;
		tabelavariavel.setModel&#40;new DefaultTableModel&#40;&#41;&#41;;
		tabelavariavel.setAutoResizeMode&#40;JTable.AUTO_RESIZE_ALL_COLUMNS&#41;;
		
		tabelavariavel.setBackground&#40;Color.cyan&#41;;
		
		tabelatarefa.getTableHeader&#40;&#41;.setReorderingAllowed&#40;false&#41;;
		tabelatarefa.setModel&#40;new DefaultTableModel&#40;&#41;&#41;;
		tabelatarefa.setAutoResizeMode&#40;JTable.AUTO_RESIZE_OFF&#41;;
		tabelatarefa.setBackground&#40;Color.white&#41;;
		
		CaixaCombinacao combobox = new CaixaCombinacao&#40;&#41;; 
		DefaultCellEditor editor = new DefaultCellEditor&#40;combobox&#41;; 
		tabelatarefa.setDefaultEditor&#40;Object.class, editor&#41;; 
		
		painelvariavel = new JPanel&#40;&#41;;
		painelvariavel.setLayout&#40;new GridLayout&#40;1, 0&#41;&#41;;
		painelvariavel.setBorder&#40;new TitledBorder&#40;&quot;Variaveis&quot;&#41;&#41;;
		painelvariavel.setBounds&#40;15, 35, 490, 650&#41;;
		painelvariavel.setVisible&#40;false&#41;;
		this.add&#40;painelvariavel&#41;;
		scrollvariavel = new JScrollPane&#40;&#41;;
		scrollvariavel.setViewportView&#40;tabelavariavel&#41;;
		painelvariavel.add&#40;scrollvariavel&#41;;
		
		paineltarefa = new JPanel&#40;&#41;;
		paineltarefa.setLayout&#40;new GridLayout&#40;1,0&#41;&#41;;
		paineltarefa.setBorder&#40;new TitledBorder&#40;&quot;Tarefas&quot;&#41;&#41;;
		paineltarefa.setBounds&#40;506, 35, 490,650&#41;;
		paineltarefa.setVisible&#40;false&#41;;
		this.add&#40;paineltarefa&#41;;
		scrolltarefa = new JScrollPane&#40;&#41;;
		scrolltarefa.setViewportView&#40;tabelatarefa&#41;;
		paineltarefa.add&#40;scrolltarefa&#41;;
		
		tamanholinhas = 1;
		linhas=1;
		cont=0;
		
		JMenu arquivo = new JMenu&#40;&quot;Arquivo&quot;&#41;;
		JMenu mtabela = new JMenu&#40;&quot;Tabela&quot;&#41;;
		
		arquivo.setMnemonic&#40;KeyEvent.VK_A&#41;;
		mtabela.setMnemonic&#40;KeyEvent.VK_T&#41;;
		miadvariavel = new JMenuItem&#40;&quot;Adicionar Variavel&quot;&#41;;
		miadtarefa = new JMenuItem&#40;&quot;Adicionar Tarefa&quot;&#41;;
		abrir = new JMenuItem&#40;&quot;Abrir&quot;&#41;;
		guardar = new JMenuItem&#40;&quot;Guardar&quot;&#41;;
		sair = new JMenuItem&#40;&quot;Sair&quot;&#41;;
		sair.addActionListener&#40;trat&#41;;
		miadvariavel.addActionListener&#40;trat&#41;;
		miadtarefa.addActionListener&#40;trat&#41;;
		
		
		mtabela.add&#40;miadvariavel&#41;;
		miadvariavel.setMnemonic&#40;KeyEvent.VK_V&#41;;
		mtabela.add&#40;miadtarefa&#41;;
		miadtarefa.setMnemonic&#40;KeyEvent.VK_F&#41;;
		
		arquivo.add&#40;abrir&#41;;
		abrir.setMnemonic&#40;KeyEvent.VK_B&#41;;
		arquivo.add&#40;guardar&#41;;
		guardar.setMnemonic&#40;KeyEvent.VK_G&#41;;
		arquivo.addSeparator&#40;&#41;;
		arquivo.add&#40;sair&#41;;
		sair.setMnemonic&#40;KeyEvent.VK_S&#41;;
		barra.add&#40;arquivo&#41;;
		barra.add&#40;mtabela&#41;;
		
		jTabbedPane1 = new JTabbedPane&#40;&#41;;
		contentPane = &#40;JPanel&#41;this.getContentPane&#40;&#41;;
		//-----
		paineltabela = new JPanel&#40;&#41;;
		//-----
		painelgrafo = new JPanel&#40;&#41;;
		//-----

		//
		// jTabbedPane1
		//
		jTabbedPane1.addTab&#40;&quot;Tabela&quot;, paineltabela&#41;;
		jTabbedPane1.addTab&#40;&quot;Grafo&quot;, painelgrafo&#41;;
		jTabbedPane1.addChangeListener&#40;new ChangeListener&#40;&#41; &#123;
			public void stateChanged&#40;ChangeEvent e&#41;
			&#123;
				painelvariavel.setVisible&#40;false&#41;;
			&#125;

		&#125;&#41;;
		//
		// contentPane
		//
		contentPane.setLayout&#40;null&#41;;
		
		addComponent&#40;contentPane, jTabbedPane1, 11,10,990,690&#41;;
		//
		// paineltabela
		//
		paineltabela.setLayout&#40;null&#41;;
		//
		// painelgrafo
		//
		painelgrafo.setLayout&#40;new FlowLayout&#40;FlowLayout.CENTER, 5, 5&#41;&#41;;
		//
		// Poseidon
		//
		this.setTitle&#40;&quot;UMa Poseidon&quot;&#41;;
		this.setLocation&#40;new Point&#40;2, 1&#41;&#41;;
		this.setSize&#40;new Dimension&#40;558, 441&#41;&#41;;
		this.setDefaultCloseOperation&#40;WindowConstants.EXIT_ON_CLOSE&#41;;
		this.setExtendedState&#40;MAXIMIZED_BOTH&#41;;
		
	&#125;

	/** Add Component Without a Layout Manager &#40;Absolute Positioning&#41; */
	private void addComponent&#40;Container container,Component c,int x,int y,int width,int height&#41;
	&#123;
		c.setBounds&#40;x,y,width,height&#41;;
		container.add&#40;c&#41;;
	&#125;

	//
	// TODO&#58; Add any appropriate code in the following Event Handling Methods
	//
	private void jTabbedPane1_stateChanged&#40;ChangeEvent e&#41;
	&#123;
		System.out.println&#40;&quot;\njTabbedPane1_stateChanged&#40;ChangeEvent e&#41; called.&quot;&#41;;
		// TODO&#58; Add any handling code here

	&#125;

	//
	// TODO&#58; Add any method code to meet your needs in the following area
	//
	
	private class TratBarra implements ActionListener&#123;
		public void actionPerformed&#40;ActionEvent e&#41;&#123;
			if&#40;e.getSource&#40;&#41; == sair&#41;&#123;
				int op = JOptionPane.showConfirmDialog&#40;null, &quot;Deseja mesmo fechar o aplicativo?&quot;,&quot;Sair&quot;, JOptionPane.YES_NO_OPTION&#41;;
				if&#40;op == JOptionPane.YES_OPTION&#41;&#123;
					System.exit&#40;0&#41;;
					&#125; 
				&#125;
			if&#40;e.getSource&#40;&#41; == miadvariavel&#41;&#123;
				final JFrame w = new JFrame&#40;&#41;;
				new AdVariavel&#40;w&#41;;
				&#125;
			if&#40;e.getSource&#40;&#41; == miadtarefa&#41;&#123;
				final JFrame w = new JFrame&#40;&#41;;
				new AdTarefa&#40;w&#41;;
			&#125;
			&#125;
		&#125;

//============================= Testing ================================//
//=                                                                    =//
//= The following main method is just for testing this class you built.=//
//= After testing,you may simply delete it.                            =//
//======================================================================//
	public static void main&#40;String&#91;&#93; args&#41;
	&#123;
		Spash sp = new Spash&#40;3000&#41;;
		sp.mostraTela&#40;&#41;;
		JFrame.setDefaultLookAndFeelDecorated&#40;true&#41;;
		JDialog.setDefaultLookAndFeelDecorated&#40;true&#41;;
		try
		&#123;
			UIManager.setLookAndFeel&#40;&quot;javax.swing.plaf.metal.MetalLookAndFeel&quot;&#41;;
		&#125;
		catch &#40;Exception ex&#41;
		&#123;
			System.out.println&#40;&quot;Failed loading L&amp;F&#58; &quot;&#41;;
			System.out.println&#40;ex&#41;;
		&#125;
		new Poseidon&#40;&#41;;
	&#125;
//= End of Testing =

private class AdVariavel extends JDialog
&#123;
	// Variables declaration
	private JLabel jLabel1;
	private JTextField jTextField1;
	private JButton varOK;
	private JButton varCancel;
	private JPanel contentPane;
	//-----
	private JTextField jTextField2;
	private JList listadominio;
	private JScrollPane jScrollPane1;
	private JButton varAdiciona;
	private JButton varRemove;
	private JPanel jPanel1;
	private DefaultListModel modelo1;
	//-----
	// End of variables declaration


	public AdVariavel&#40;Frame w&#41;
	&#123;
		super&#40;w&#41;;
		initializeComponent&#40;&#41;;
		//
		// TODO&#58; Add any constructor code after initializeComponent call
		//
		this.setVisible&#40;true&#41;;
	&#125;

	/**
	 * This method is called from within the constructor to initialize the form.
	 * WARNING&#58; Do NOT modify this code. The content of this method is always regenerated
	 * by the Windows Form Designer. Otherwise, retrieving design might not work properly.
	 * Tip&#58; If you must revise this method, please backup this GUI file for JFrameBuilder
	 * to retrieve your design properly in future, before revising this method.
	 */
	private void initializeComponent&#40;&#41;
	&#123;
		modelo1 = new DefaultListModel&#40;&#41;;
		jLabel1 = new JLabel&#40;&#41;;
		jTextField1 = new JTextField&#40;&#41;;
		varOK = new JButton&#40;&#41;;
		varCancel = new JButton&#40;&#41;;
		contentPane = &#40;JPanel&#41;this.getContentPane&#40;&#41;;
		//-----
		jTextField2 = new JTextField&#40;&#41;;
		listadominio = new JList&#40;modelo1&#41;;
		jScrollPane1 = new JScrollPane&#40;&#41;;
		varAdiciona = new JButton&#40;&#41;;
		varRemove = new JButton&#40;&#41;;
		jPanel1 = new JPanel&#40;&#41;;
		//-----
		//
		// jLabel1
		//
		jLabel1.setText&#40;&quot;Nome da variável&#58;&quot;&#41;;
		//
		// jTextField1
		//
		jTextField1.addActionListener&#40;new ActionListener&#40;&#41; &#123;
			public void actionPerformed&#40;ActionEvent e&#41;
			&#123;
				jTextField1_actionPerformed&#40;e&#41;;
			&#125;

		&#125;&#41;;
		//
		// varOK
		//
		varOK.setText&#40;&quot;OK&quot;&#41;;
		varOK.setMnemonic&#40;KeyEvent.VK_O&#41;;
		varOK.addActionListener&#40;new ActionListener&#40;&#41; &#123;
			public void actionPerformed&#40;ActionEvent e&#41;
			&#123;
				varOK_actionPerformed&#40;e&#41;;
			&#125;

		&#125;&#41;;
		//
		// varCancel
		//
		varCancel.setText&#40;&quot;Cancelar&quot;&#41;;
		varCancel.setMnemonic&#40;KeyEvent.VK_C&#41;;
		varCancel.addActionListener&#40;new ActionListener&#40;&#41; &#123;
			public void actionPerformed&#40;ActionEvent e&#41;
			&#123;
				varCancel_actionPerformed&#40;e&#41;;
			&#125;

		&#125;&#41;;
		//
		// contentPane
		//
		contentPane.setLayout&#40;null&#41;;
		addComponent&#40;contentPane, jLabel1, 12,12,105,18&#41;;
		addComponent&#40;contentPane, jTextField1, 118,10,137,22&#41;;
		addComponent&#40;contentPane, varOK, 170,227,83,28&#41;;
		addComponent&#40;contentPane, varCancel, 257,227,85,28&#41;;
		addComponent&#40;contentPane, jPanel1, 12,42,332,180&#41;;
		//
		// jTextField2
		//
		jTextField2.addActionListener&#40;new ActionListener&#40;&#41; &#123;
			public void actionPerformed&#40;ActionEvent e&#41;
			&#123;
				jTextField2_actionPerformed&#40;e&#41;;
			&#125;

		&#125;&#41;;
		//
		// listadominio
		//
		listadominio.addListSelectionListener&#40;new ListSelectionListener&#40;&#41; &#123;
			public void valueChanged&#40;ListSelectionEvent e&#41;
			&#123;
				listadominio_valueChanged&#40;e&#41;;
			&#125;

		&#125;&#41;;
		//
		// jScrollPane1
		//
		jScrollPane1.setViewportView&#40;listadominio&#41;;
		//
		// varAdiciona
		//
		varAdiciona.setText&#40;&quot;Adicionar&quot;&#41;;
		varAdiciona.setMnemonic&#40;KeyEvent.VK_A&#41;;
		varAdiciona.addActionListener&#40;new ActionListener&#40;&#41; &#123;
			public void actionPerformed&#40;ActionEvent e&#41;
			&#123;
				varAdiciona_actionPerformed&#40;e&#41;;
			&#125;

		&#125;&#41;;
		//
		// varRemove
		//
		varRemove.setText&#40;&quot;Remover&quot;&#41;;
		varRemove.setMnemonic&#40;KeyEvent.VK_R&#41;;
		varRemove.addActionListener&#40;new ActionListener&#40;&#41; &#123;
			public void actionPerformed&#40;ActionEvent e&#41;
			&#123;
				varRemove_actionPerformed&#40;e&#41;;
			&#125;

		&#125;&#41;;
		//
		// jPanel1
		//
		jPanel1.setLayout&#40;null&#41;;
		jPanel1.setBorder&#40;new TitledBorder&#40;&quot;Dominio&#58;&quot;&#41;&#41;;
		addComponent&#40;jPanel1, jTextField2, 17,22,130,22&#41;;
		addComponent&#40;jPanel1, jScrollPane1, 165,21,154,144&#41;;
		addComponent&#40;jPanel1, varAdiciona, 56,50,89,28&#41;;
		addComponent&#40;jPanel1, varRemove, 57,84,88,28&#41;;
		//
		// AdTarefas
		//
		this.setTitle&#40;&quot;Adicionar Variavel&quot;&#41;;
		this.setLocation&#40;new Point&#40;1, 0&#41;&#41;;
		this.setSize&#40;new Dimension&#40;367, 296&#41;&#41;;
		this.setLocationRelativeTo&#40;null&#41;;
		this.setResizable&#40;false&#41;;
	&#125;

	/** Add Component Without a Layout Manager &#40;Absolute Positioning&#41; */
	private void addComponent&#40;Container container,Component c,int x,int y,int width,int height&#41;
	&#123;
		c.setBounds&#40;x,y,width,height&#41;;
		container.add&#40;c&#41;;
	&#125;

	//
	// TODO&#58; Add any appropriate code in the following Event Handling Methods
	//
	private void jTextField1_actionPerformed&#40;ActionEvent e&#41;
	&#123;
		System.out.println&#40;&quot;\njTextField1_actionPerformed&#40;ActionEvent e&#41; called.&quot;&#41;;
		// TODO&#58; Add any handling code here

	&#125;

	private void varOK_actionPerformed&#40;ActionEvent e&#41;
	&#123;
		System.out.println&#40;&quot;\nvarOK_actionPerformed&#40;ActionEvent e&#41; called.&quot;&#41;;
		if &#40;jTextField1 == null&#41;&#123;
			return;
		&#125;
		if &#40;jTextField1.getText&#40;&#41;.length&#40;&#41;&lt;1&#41;&#123;
			JOptionPane.showMessageDialog&#40;null,&quot;Não introduziu nenhuma variavel&quot;,&quot;AVISO&quot;, 1 &#41;;
			jTextField1.requestFocus&#40;&#41;;
			return;
		&#125;
		else &#123;
			if &#40;modelo1.getSize&#40;&#41; == 0&#41;&#123;
				JOptionPane.showMessageDialog&#40;null,&quot;Não introduziu nenhum dominio&quot;,&quot;AVISO&quot;, 1 &#41;;
				return;
				&#125;
			else&#123;
				painelvariavel.add&#40;scrollvariavel&#41;;
				index = 0;
				variavel = jTextField1.getText&#40;&#41;;
				contastring = variavel.length&#40;&#41;;
				System.out.println&#40;contastring&#41;;
				DefaultTableModel dtm = &#40;DefaultTableModel&#41;tabelavariavel.getModel&#40;&#41;;
				tabelavariavel.getTableHeader&#40;&#41;.setBackground&#40;Color.yellow&#41;;
				dtm.addColumn&#40;variavel, new Object&#91;&#93;&#123;&#125;&#41;;
				
				

				
				al = modelo1.getSize&#40;&#41;;
				totallinhas = al;
				for&#40;int i = 0;i &lt; modelo1.getSize&#40;&#41;;i++&#41;&#123;
					listadominio.setSelectedIndex&#40;index&#41; ;
					Object dominio = listadominio.getSelectedValue&#40;&#41;;
					dtm.addRow&#40;new Object&#91;&#93;&#123;dominio&#125;&#41;;
					index ++;
				&#125;
				tabelasvar&#91;cont&#93; = tabelavariavel;
				cont++;
				System.out.println&#40;cont&#41;;
				
				for&#40;int i=0;i&lt;cont;i++&#41;&#123;
					tabelateste = tabelasvar&#91;i&#93;;
					linhas = tabelateste.getRowCount&#40;&#41;;
					if &#40;linhas &gt;= tamanholinhas&#41;&#123;
						tamanholinhas = linhas;
					&#125;
				&#125;
				
				for &#40;int i=0;i&lt;cont;i++&#41;&#123;
					tabelateste = tabelasvar&#91;i&#93;;
					System.out.println&#40;linhas&#41;;
					linhas = tabelateste.getRowCount&#40;&#41;;
					tabelateste.setRowHeight&#40;&#40;tamanholinhas/linhas&#41;*20&#41;;
					tabelasvar&#91;i&#93; = tabelateste;
					System.out.println&#40;tabelateste&#41;;
				&#125;
				
			&#125;
			tabelavariavel = new JTable&#40;&#41;;
    		scrollvariavel = new JScrollPane&#40;&#41;;
    		painelvariavel.add&#40;tabelavariavel&#41;;
    		tabelavariavel.setBackground&#40;Color.cyan&#41;;
        	tabelavariavel.setAutoResizeMode&#40;JTable.AUTO_RESIZE_ALL_COLUMNS&#41;;
			scrollvariavel.setViewportView&#40;tabelavariavel&#41;;
			painelvariavel.setVisible&#40;true&#41;;
        	tabelavariavel.getTableHeader&#40;&#41;.setReorderingAllowed&#40;false&#41;;
        	this.setVisible&#40;false&#41;;
        	miadtarefa.setEnabled&#40;true&#41;;
        	miadvariavel.setEnabled&#40;true&#41;;
        	
        	
        	DefaultTableModel dtm = &#40;DefaultTableModel&#41;tabelatarefa.getModel&#40;&#41;;
			tabelatarefa.getTableHeader&#40;&#41;.setBackground&#40;Color.yellow&#41;;
			
			controlalinhas = tamanholinhas - linhastarefa;
			for&#40;int i = 0;i &lt; controlalinhas;i++&#41;&#123;
					dtm.addRow&#40;new Object&#91;&#93;&#123;&#125;&#41;;
					linhastarefa++;
			&#125;
			tabelatarefa.setRowHeight&#40;&#40;tamanholinhas/linhas&#41;*20&#41;;
		&#125;
		// TODO&#58; Add any handling code here

	&#125;

	private void varCancel_actionPerformed&#40;ActionEvent e&#41;
	&#123;
		System.out.println&#40;&quot;\nvarCancel_actionPerformed&#40;ActionEvent e&#41; called.&quot;&#41;;
		this.setVisible&#40;false&#41;;

	&#125;

	private void jTextField2_actionPerformed&#40;ActionEvent e&#41;
	&#123;
		System.out.println&#40;&quot;\njTextField2_actionPerformed&#40;ActionEvent e&#41; called.&quot;&#41;;
		// TODO&#58; Add any handling code here

	&#125;

	private void listadominio_valueChanged&#40;ListSelectionEvent e&#41;
	&#123;
		System.out.println&#40;&quot;\nlistadominio_valueChanged&#40;ListSelectionEvent e&#41; called.&quot;&#41;;
		if&#40;!e.getValueIsAdjusting&#40;&#41;&#41;
		&#123;
			Object o = listadominio.getSelectedValue&#40;&#41;;
			System.out.println&#40;&quot;&gt;&gt;&quot; + &#40;&#40;o==null&#41;? &quot;null&quot; &#58; o.toString&#40;&#41;&#41; + &quot; is selected.&quot;&#41;;
			// TODO&#58; Add any handling code here for the particular object being selected
			
		&#125;
	&#125;

	private void varAdiciona_actionPerformed&#40;ActionEvent e&#41;
	&#123;
		System.out.println&#40;&quot;\nvarAdiciona_actionPerformed&#40;ActionEvent e&#41; called.&quot;&#41;;
		if&#40;jTextField2.getText&#40;&#41;.length&#40;&#41;&gt;=1&#41;&#123;
			modelo1.addElement&#40;jTextField2.getText&#40;&#41;&#41;;
			jTextField2.setText&#40;&quot;&quot;&#41;;
			jTextField2.requestFocus&#40;&#41;;
			&#125;
	&#125;

	private void varRemove_actionPerformed&#40;ActionEvent e&#41;
	&#123;
		System.out.println&#40;&quot;\nvarRemove_actionPerformed&#40;ActionEvent e&#41; called.&quot;&#41;;
		int index = listadominio.getSelectedIndex&#40;&#41;;
		modelo1.remove&#40;index&#41;;
	&#125;

	//
	// TODO&#58; Add any method code to meet your needs in the following area
	//
&#125;
private class AdTarefa extends JDialog
&#123;
	// Variables declaration
	private JLabel jLabel1;
	private JTextField jTextField1;
	private JButton tarOK;
	private JButton tarCancel;
	private JPanel contentPane;
	//-----
	

	private JPanel jPanel1;
	
	//-----
	// End of variables declaration


	public AdTarefa&#40;Frame w&#41;
	&#123;
		super&#40;w&#41;;
		initializeComponent&#40;&#41;;
		//
		// TODO&#58; Add any constructor code after initializeComponent call
		//

		this.setVisible&#40;true&#41;;
	&#125;

	/**
	 * This method is called from within the constructor to initialize the form.
	 * WARNING&#58; Do NOT modify this code. The content of this method is always regenerated
	 * by the Windows Form Designer. Otherwise, retrieving design might not work properly.
	 * Tip&#58; If you must revise this method, please backup this GUI file for JFrameBuilder
	 * to retrieve your design properly in future, before revising this method.
	 */
	private void initializeComponent&#40;&#41;
	&#123;
		
		jLabel1 = new JLabel&#40;&#41;;
		jTextField1 = new JTextField&#40;&#41;;
		tarOK = new JButton&#40;&#41;;
		tarCancel = new JButton&#40;&#41;;
		contentPane = &#40;JPanel&#41;this.getContentPane&#40;&#41;;
	
		
		
		//
		// jLabel1
		//
		jLabel1.setText&#40;&quot;Nome da tarefa&#58;&quot;&#41;;
		//
		// jTextField1
		//
		jTextField1.addActionListener&#40;new ActionListener&#40;&#41; &#123;
			public void actionPerformed&#40;ActionEvent e&#41;
			&#123;
				jTextField1_actionPerformed&#40;e&#41;;
			&#125;

		&#125;&#41;;
		//
		// tarOK
		//
		tarOK.setText&#40;&quot;OK&quot;&#41;;
		tarOK.setMnemonic&#40;KeyEvent.VK_O&#41;;
		tarOK.addActionListener&#40;new ActionListener&#40;&#41; &#123;
			public void actionPerformed&#40;ActionEvent e&#41;
			&#123;
				tarOK_actionPerformed&#40;e&#41;;
			&#125;
		&#125;&#41;;
		//
		// tarCancel
		//
		tarCancel.setText&#40;&quot;Cancelar&quot;&#41;;
		tarCancel.setMnemonic&#40;KeyEvent.VK_C&#41;;
		tarCancel.addActionListener&#40;new ActionListener&#40;&#41; &#123;
			public void actionPerformed&#40;ActionEvent e&#41;
			&#123;
				tarCancel_actionPerformed&#40;e&#41;;
			&#125;
		&#125;&#41;;
		//
		// contentPane
		//
		contentPane.setLayout&#40;null&#41;;
		addComponent&#40;contentPane, jLabel1, 12,12,105,18&#41;;
		addComponent&#40;contentPane, jTextField1, 118,10,120,22&#41;;
		addComponent&#40;contentPane, tarOK, 10,50,83,28&#41;;
		addComponent&#40;contentPane, tarCancel, 153,50,85,28&#41;;
	
		//
		// AdTarefas
		//
		this.setTitle&#40;&quot;Adicionar Tarefa&quot;&#41;;
		this.setLocation&#40;new Point&#40;1, 0&#41;&#41;;
		this.setSize&#40;new Dimension&#40;250, 120&#41;&#41;;
		this.setLocationRelativeTo&#40;null&#41;;
		this.setResizable&#40;false&#41;;
	&#125;

	/** Add Component Without a Layout Manager &#40;Absolute Positioning&#41; */
	private void addComponent&#40;Container container,Component c,int x,int y,int width,int height&#41;
	&#123;
		c.setBounds&#40;x,y,width,height&#41;;
		container.add&#40;c&#41;;
	&#125;

	//
	// TODO&#58; Add any appropriate code in the following Event Handling Methods
	//
	private void jTextField1_actionPerformed&#40;ActionEvent e&#41;
	&#123;
		System.out.println&#40;&quot;\njTextField1_actionPerformed&#40;ActionEvent e&#41; called.&quot;&#41;;
		// TODO&#58; Add any handling code here

	&#125;

	private void tarOK_actionPerformed&#40;ActionEvent e&#41;
	&#123;
		System.out.println&#40;&quot;\ntarOK_actionPerformed&#40;ActionEvent e&#41; called.&quot;&#41;;
		if &#40;jTextField1 == null&#41;&#123;
			return;
		&#125;
		if &#40;jTextField1.getText&#40;&#41;.length&#40;&#41;&lt;1&#41;&#123;
			JOptionPane.showMessageDialog&#40;null,&quot;Não introduziu nenhuma tarefa&quot;,&quot;AVISO&quot;, 1 &#41;;
			jTextField1.requestFocus&#40;&#41;;
			return;
		&#125;
		
		
		else&#123;
			String variavel = jTextField1.getText&#40;&#41;;
			DefaultTableModel dtm = &#40;DefaultTableModel&#41;tabelatarefa.getModel&#40;&#41;;
			dtm.addColumn&#40;variavel,new Object&#91;&#93;&#123;&#125;&#41;;
			controlalinhas = tamanholinhas - linhastarefa;
			for&#40;int i = 0;i &lt; controlalinhas;i++&#41;&#123;
					dtm.addRow&#40;new Object&#91;&#93;&#123;&#125;&#41;;
					linhastarefa++;
			&#125;
			for&#40;int i=0; i &lt; tabelatarefa.getColumnCount&#40;&#41;; i++&#41;&#123;
				tabelatarefa.getColumnModel&#40;&#41;.getColumn&#40;i&#41;.setPreferredWidth&#40;100&#41;;
    			tabelatarefa.getColumnModel&#40;&#41;.getColumn&#40;i&#41;.setResizable&#40;false&#41;;
    			tabelatarefa.getTableHeader&#40;&#41;.setBackground&#40;Color.yellow&#41;;
    			
    		&#125;
			tabelatarefa.setRowHeight&#40;&#40;tamanholinhas/linhas&#41;*20&#41;;
		&#125;
			paineltarefa.setVisible&#40;true&#41;;
        	tabelatarefa.getTableHeader&#40;&#41;.setReorderingAllowed&#40;true&#41;;
        	this.setVisible&#40;false&#41;;
        	miadtarefa.setEnabled&#40;true&#41;;
        	miadvariavel.setEnabled&#40;true&#41;;
			
        	// TODO&#58; Add any handling code here

	&#125;

	private void tarCancel_actionPerformed&#40;ActionEvent e&#41;
	&#123;
		System.out.println&#40;&quot;\ntarCancel_actionPerformed&#40;ActionEvent e&#41; called.&quot;&#41;;
		this.setVisible&#40;false&#41;;

	&#125;
&#125;


&#125;

depois preciso dessa classe k da um splash de entrada:


/*@ Classe de montagem da tela Splash ligada apenas á Classe Agenda&#40;Principal&#41;
 */

//package rosto;
import javax.swing.*;
import java.awt.*;


public class Spash extends JWindow&#123;
	private int duracao;

	public Spash&#40;int d&#41;&#123;
	duracao=d;
	&#125;	
	public void mostraSpalsh&#40;&#41;&#123;
	JPanel painel=&#40;JPanel&#41;getContentPane&#40;&#41;;
	int width =260;
    int height=238;
    Dimension screen = Toolkit.getDefaultToolkit&#40;&#41;.getScreenSize&#40;&#41;;
    int x = &#40;screen.width-width&#41;/2;
    int y = &#40;screen.height-height&#41;/2;
    setBounds&#40;x,y,width,height&#41;;
	JLabel lbSpash = new JLabel&#40;new ImageIcon&#40;&quot;poseidon.jpg&quot;&#41;&#41;;
	painel.add&#40;lbSpash,BorderLayout.CENTER&#41;;
	painel.setBackground&#40;Color.white&#41;;
	Color linha = new Color&#40;0,0,0,0&#41;;
	painel.setBorder&#40;BorderFactory.createLineBorder&#40;linha,8&#41;&#41;;
	setVisible&#40;true&#41;;
		try&#123;
			Thread.sleep&#40;duracao&#41;;
			setVisible&#40;false&#41;;
			&#125;
		catch&#40;Exception e&#41;&#123;
		JOptionPane.showMessageDialog&#40;null,&quot;Erro&quot;+e.getMessage&#40;&#41;&#41;;	
		&#125;
		&#125;
	public void mostraTela&#40;&#41;&#123;
    mostraSpalsh&#40;&#41;;
    
  &#125;

		
		
&#125;

e tem a class k faz a combobox k é essa:

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 

public class CaixaCombinacao extends JComboBox&#123; 
   ImageIcon&#91;&#93; images; 
    String&#91;&#93; linguagens = &#123;&quot;x&quot;, &quot;check&quot;&#125;; 
    
public CaixaCombinacao&#40;&#41;&#123; 
    images = new ImageIcon&#91;linguagens.length&#93;; 
    Integer&#91;&#93; intArray = new Integer&#91;linguagens.length&#93;; 
    for &#40;int i = 0; i &lt; linguagens.length; i++&#41; &#123; 
       intArray&#91;i&#93; = new Integer&#40;i&#41;; 
        images&#91;i&#93; = createImageIcon&#40;linguagens&#91;i&#93; + &quot;.gif&quot;&#41;; 
        this.addItem&#40;images&#91;i&#93;&#41;; 
   &#125; 
   this.setMaximumRowCount&#40;2&#41;; 
   ComboBoxRenderer renderer= new ComboBoxRenderer&#40;&#41;; 
   this.setRenderer&#40;renderer&#41;; 
&#125; 
protected static ImageIcon createImageIcon&#40;String path&#41; &#123; 
        java.net.URL imgURL = CaixaCombinacao.class.getResource&#40;path&#41;; 
        System.out.println&#40;imgURL&#41;; 
        return new ImageIcon&#40;imgURL&#41;; 
&#125; 
class ComboBoxRenderer extends JLabel 
                           implements ListCellRenderer &#123; 
    

        public ComboBoxRenderer&#40;&#41; &#123; 
            setOpaque&#40;false&#41;; 
            setHorizontalAlignment&#40;CENTER&#41;; 
            setVerticalAlignment&#40;CENTER&#41;; 
        &#125; 

    
        public Component getListCellRendererComponent&#40; 
                                           JList list, 
                                           Object value, 
                                           int index, 
                                           boolean isSelected, 
                                           boolean cellHasFocus&#41; &#123; 
            //Get the selected index. &#40;The index param isn't 
            //always valid, so just use the value.&#41; 
            System.out.println&#40;images&#41;;
            int selectedIndex = index; 

            if &#40;isSelected&#41; &#123; 
                setBackground&#40;list.getSelectionBackground&#40;&#41;&#41;; 
                setForeground&#40;list.getSelectionForeground&#40;&#41;&#41;; 
            &#125; else &#123; 
                setBackground&#40;list.getBackground&#40;&#41;&#41;; 
                setForeground&#40;list.getForeground&#40;&#41;&#41;; 
            &#125; 
         	
         	
         	ImageIcon icon = images&#91;selectedIndex&#93;; 
            String pet = linguagens&#91;selectedIndex&#93;; 
            setIcon&#40;icon&#41;; 
            
            return this; 
        &#125; 
&#125; 
&#125; 

amigo peço desculpa se tou sendo massador mas tou mesmo aflito,
agradeço muito a sua ajuda e desculpa postar isso assim,é k o codigo é muito grande, se voce kiser eu posso mandar o codigo bem como todas as imagens pra seu mail…