1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Abrir uma InternalFrame e fecha-lá depois abrir ela novamente

Olá pessoal estou com um problema e não sei como resolver eu chamo o JInternalFrame e fecho ele depois não consigo abrir mais ele. O meu trabalho esta da seguinte forma é um JFrame principal depois fui e criei uma outra classe mas não dentro do JFrame, essa outra classe é JInternalFrame.

Código é este abaixo

package br.edu.unoesc;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Gerenciamento extends JFrame implements ActionListener {

    private Comercial comercial = new Comercial ("Emissão de Cupom Fiscal", null);
    private static Gerenciamento gerenciamento;

    public Comercial getComercial () {
        return comercial;
    }

    public static Gerenciamento getGerenciamento () {
        if (gerenciamento == null) {
            gerenciamento = new Gerenciamento();
        }
        return gerenciamento;
    }

    private JMenuBar barra;
    private JMenu jmvenda, jmfinanceiro;
    private JMenuItem jmicupomfiscal, jmipagamento;
    public static JDesktopPane jdptelas = new JDesktopPane();

    Comercial telaComercial;

    public void criamenus () {
        jmvenda = new JMenu("Vendas");
        jmicupomfiscal = new JMenuItem("Cupom Fiscal");
        jmicupomfiscal.addActionListener(this);
        jmvenda.add(jmicupomfiscal);

        jmfinanceiro = new JMenu("Pagamento");
        jmipagamento = new JMenuItem("Efetuar Pagamento");
        jmipagamento.addActionListener(this);
        jmfinanceiro.add(jmipagamento);

        barra = new JMenuBar();
        setJMenuBar(barra);
        barra.add(jmvenda);
        barra.add(jmfinanceiro);
    }

    public Gerenciamento () {
        setTitle("Sistema de Gerenciamento de Vendas");

        getContentPane().add(jdptelas);
        criamenus();

        this.setSize(800, 500);
        this.setVisible(true);
        this.setExtendedState(Gerenciamento.MAXIMIZED_BOTH);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        Gerenciamento gerenciamento = new Gerenciamento ();
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == jmicupomfiscal) {
            if (telaComercial == null) {
                telaComercial = new Comercial ("Emissão de Cupom Fiscal", this);
                comercial.setVisible(true);
            }
            jdptelas.moveToFront(telaComercial);
        }
    }
}

Obrigado desde já.

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java java-ee javascript javafx java8 javadoc ou faça a sua própria pergunta.