Bom dia, estou com dificuldade de fazer meu método cancelar funcionar!
Tenho uma tela que exibe um gerenciador de estoque ( CLASSE TelaEstoque )
package View;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import Model.*;
import Controller.*;
import javax.swing.GroupLayout.Alignment;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.DefaultMutableTreeNode;
public class TelaEstoque extends JPanel{
JPanel estoque, utility, conteudo, categorias;
JButton categoria, Item;
JScrollPane scrollPane;
private JTable table;
JTree tree;
TelaCategoriaEstoque tce;
TelaItemEstoque tie;
public TelaEstoque() {
utility = new JPanel();
utility.setBackground(new Color(0, 175, 239));
utility.add(categoria = new JButton("CATEGORIA"));
categoria.addActionListener(new ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tce = new TelaCategoriaEstoque();
conteudo.removeAll();
conteudo.add(tce.categoria);
tce.categoria.setVisible(true);
conteudo.validate();
}});
categoria.setBackground(new Color(255, 255, 255));
categoria.setForeground(new Color(0, 175, 239));
utility.add(Item = new JButton("ITEM"));
Item.addActionListener(new ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tie = new TelaItemEstoque();
conteudo.removeAll();
conteudo.add(tie.item);
tie.item.setVisible(true);
conteudo.validate();
}});
Item.setBackground(new Color(255, 255, 255));
Item.setForeground(new Color(0, 175, 239));
conteudo = new JPanel();
conteudo.setBackground(new Color(0, 175, 239));
JScrollPane scrollPane_1 = new JScrollPane();
GroupLayout gl_utility = new GroupLayout(utility);
gl_utility.setHorizontalGroup(
gl_utility.createParallelGroup(Alignment.LEADING)
.addGroup(Alignment.TRAILING, gl_utility.createSequentialGroup()
.addContainerGap()
.addGroup(gl_utility.createParallelGroup(Alignment.TRAILING)
.addComponent(scrollPane_1, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
.addComponent(categoria, GroupLayout.PREFERRED_SIZE, 155, Short.MAX_VALUE)
.addComponent(Item, GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE))
.addContainerGap())
);
gl_utility.setVerticalGroup(
gl_utility.createParallelGroup(Alignment.LEADING)
.addGroup(gl_utility.createSequentialGroup()
.addGap(5)
.addComponent(categoria)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(Item)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(scrollPane_1, GroupLayout.DEFAULT_SIZE, 431, Short.MAX_VALUE))
);
utility.add(categorias = new JPanel());
scrollPane_1.setViewportView(categorias);
categorias.setForeground(new Color(255, 255, 255));
//categorias.setBorder(BorderFactory.createTitledBorder("CATEGORIAS"));
categorias.setBackground(new Color(0, 175, 239));
categorias.setLayout(new GridLayout(1, 0, 0, 0));
tree = new JTree();
tree.setModel(new DefaultTreeModel(
new DefaultMutableTreeNode("RAIZ") {
{
DefaultMutableTreeNode node_1;
node_1 = new DefaultMutableTreeNode("colors");
node_1.add(new DefaultMutableTreeNode("blue"));
node_1.add(new DefaultMutableTreeNode("violet"));
node_1.add(new DefaultMutableTreeNode("red"));
node_1.add(new DefaultMutableTreeNode("yellow"));
add(node_1);
node_1 = new DefaultMutableTreeNode("sports");
node_1.add(new DefaultMutableTreeNode("basketball"));
node_1.add(new DefaultMutableTreeNode("soccer"));
node_1.add(new DefaultMutableTreeNode("football"));
node_1.add(new DefaultMutableTreeNode("hockey"));
add(node_1);
node_1 = new DefaultMutableTreeNode("food");
node_1.add(new DefaultMutableTreeNode("hot dogs"));
node_1.add(new DefaultMutableTreeNode("pizza"));
node_1.add(new DefaultMutableTreeNode("ravioli"));
node_1.add(new DefaultMutableTreeNode("bananas"));
add(node_1);
}
}
));
tree.setBackground(new Color(0, 175, 239));
categorias.add(tree);
utility.setLayout(gl_utility);
estoque = new JPanel();
estoque.setBackground(new Color(0, 175, 239));
estoque.setLayout(new BorderLayout(0, 0));
estoque.add(conteudo, BorderLayout.CENTER);
conteudo.setLayout(new GridLayout(0, 1, 0, 0));
scrollPane = new JScrollPane();
table = new JTable();
table.setModel(new DefaultTableModel(
new Object[][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
},
new String[] {
"ITEM", "Quantidade TOTAL", "Quantidade USADO", "EDITAR", "Excluir", "Mensagens Adicionais"
}
));
scrollPane.setViewportView(table);
conteudo.add(scrollPane);
estoque.add(utility, BorderLayout.WEST);
}
}
Ao clicar no Button Item, exibe uma tela de cadastro de Item:
package View;
import javax.swing.*;
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.LayoutStyle.ComponentPlacement;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class TelaItemEstoque extends JScrollPane{
JScrollPane item;
JPanel cadastrar;
public TelaItemEstoque() {
item = new JScrollPane();
cadastrar = new JPanel();
item.getViewport().setBackground(new Color(100, 175, 239));
cadastrar.setBorder(BorderFactory.createTitledBorder("CADASTRAR ITEM"));
item.setBackground(new Color(0, 175, 239));
item.setViewportView(cadastrar);
cadastrar.setBackground(null);
JButton btnSalvar = new JButton("SALVAR");
btnSalvar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
JButton btnCancelar = new JButton("CANCELAR");
btnCancelar.addActionListener(new ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
TelaEstoque te = new TelaEstoque();
item.setVisible(false);
te.conteudo.add(te.scrollPane);
te.scrollPane.setVisible(true);
te.conteudo.validate();
}});
JButton btnLimpar = new JButton("LIMPAR");
JLabel lblNome = new JLabel("NOME");
JFormattedTextField formattedTextField = new JFormattedTextField();
JLabel lblQuantidadeTotal = new JLabel("QUANTIDADE TOTAL");
JSpinner spinner = new JSpinner();
JLabel lblQuantidadeUsada = new JLabel("QUANTIDADE USADA");
JSpinner spinner_1 = new JSpinner();
JLabel lblMensagensAdicionais = new JLabel("MENSAGENS ADICIONAIS");
JTextArea textArea = new JTextArea();
GroupLayout gl_cadastrar = new GroupLayout(cadastrar);
gl_cadastrar.setHorizontalGroup(
gl_cadastrar.createParallelGroup(Alignment.LEADING)
.addGroup(gl_cadastrar.createSequentialGroup()
.addContainerGap()
.addGroup(gl_cadastrar.createParallelGroup(Alignment.LEADING)
.addGroup(gl_cadastrar.createSequentialGroup()
.addGroup(gl_cadastrar.createParallelGroup(Alignment.LEADING)
.addGroup(gl_cadastrar.createSequentialGroup()
.addGap(21)
.addGroup(gl_cadastrar.createParallelGroup(Alignment.TRAILING)
.addComponent(lblQuantidadeTotal)
.addComponent(lblQuantidadeUsada)
.addComponent(lblNome)))
.addComponent(lblMensagensAdicionais))
.addPreferredGap(ComponentPlacement.UNRELATED)
.addGroup(gl_cadastrar.createParallelGroup(Alignment.LEADING)
.addComponent(formattedTextField, GroupLayout.PREFERRED_SIZE, 235, GroupLayout.PREFERRED_SIZE)
.addComponent(spinner, GroupLayout.PREFERRED_SIZE, 235, GroupLayout.PREFERRED_SIZE)
.addComponent(spinner_1, GroupLayout.PREFERRED_SIZE, 235, GroupLayout.PREFERRED_SIZE)
.addComponent(textArea, GroupLayout.PREFERRED_SIZE, 235, GroupLayout.PREFERRED_SIZE)))
.addGroup(gl_cadastrar.createSequentialGroup()
.addComponent(btnCancelar, GroupLayout.PREFERRED_SIZE, 117, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnLimpar, GroupLayout.PREFERRED_SIZE, 117, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(btnSalvar, GroupLayout.PREFERRED_SIZE, 117, GroupLayout.PREFERRED_SIZE)))
.addContainerGap(14, Short.MAX_VALUE))
);
gl_cadastrar.setVerticalGroup(
gl_cadastrar.createParallelGroup(Alignment.LEADING)
.addGroup(gl_cadastrar.createSequentialGroup()
.addGap(3)
.addGroup(gl_cadastrar.createParallelGroup(Alignment.BASELINE)
.addComponent(lblNome)
.addComponent(formattedTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_cadastrar.createParallelGroup(Alignment.BASELINE)
.addComponent(spinner, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblQuantidadeTotal))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_cadastrar.createParallelGroup(Alignment.BASELINE)
.addComponent(lblQuantidadeUsada)
.addComponent(spinner_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_cadastrar.createParallelGroup(Alignment.BASELINE)
.addComponent(textArea, GroupLayout.PREFERRED_SIZE, 68, GroupLayout.PREFERRED_SIZE)
.addComponent(lblMensagensAdicionais))
.addGap(8)
.addGroup(gl_cadastrar.createParallelGroup(Alignment.BASELINE)
.addComponent(btnCancelar)
.addComponent(btnLimpar)
.addComponent(btnSalvar)))
);
cadastrar.setLayout(gl_cadastrar);
}
}
Gostaria de que quando clica-se no Button cancelar da CLASSE TelaItemEstoque; exibirá a TelaEstoque
Alguem pode me ajudar???