Dúvidas Swing - iniciante [RESOLVIDO]

Estou bem no início dos estudos com Swing e tenho algumas dúvidas simples:

  1. tenho um JFrame Principal, quero deixar ele grande do tamanho da tela;

  2. através de um menu no JFrame Principal tenho uma tela de cadastro, coloquei um botao fechar, qual método devo usar?

  3. quando eu fecho a tela de cadastro a tela Principal que está aberta atras tambem se fecha, como resolvo?

Valew galera

Verifique a propriedade ‘DefaultClosingOperation’ do JFrame, ela deve estar como ‘EXIT_ON_CLOSE’. Isto que causa a saída do programa ao se fechar a janela. Altere-o para ‘DISPOSE_ON_CLOSE’ para que apenas a janela seja fechada.

Olá, respondendo a seu questionamento:

tente o seguinte:seuJFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);
Quanto as duas outras perguntas, a resposta do colega Fernando provavelmente irá resolver a questão!

[]'s

Olá amigo

seja bem vindo ao forum.

Como eu também comecei assim posso lhe falar:

vc poderá aqui mesmo no forum encontrar várias respostas para suas dúvidas. Caso não encontre também poderá usar o google.

  1. tenho um JFrame Principal, quero deixar ele grande do tamanho da tela;
    R.
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        getHeight = screenSize.height;
        setBounds(inset, inset,
                screenSize.width - inset * 2,
                screenSize.height - inset * 2);

        FramePrincipal.setDefaultLookAndFeelDecorated(true);
        LookAndFeelInfo[] lafs = (LookAndFeelInfo[]) UIManager.getInstalledLookAndFeels();

        this.setVisible(true);
        this.setExtendedState(MAXIMIZED_BOTH); 
  1. através de um menu no JFrame Principal tenho uma tela de cadastro, coloquei um botao fechar, qual método devo usar?
    R.
//  Button Fechar
    botoesRodaPe.jButtonFechar.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
        jButtonFecharActionPerformed(evt);
    }
    });

public void jButtonFecharActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
  try {
      FecharForm();
  } catch (Exception ex) {
      Logger.getLogger(FrameModelo1.class.getName()).log(Level.SEVERE, null, ex);
  }
}

public void FecharForm() throws Exception {
     this.dispose();
     FramePrincipal.framePatrimonio = null;
 }
  1. quando eu fecho a tela de cadastro a tela Principal que está aberta atras tambem se fecha, como resolvo?
    R. resposta do nosso amigo:

“Verifique a propriedade ‘DefaultClosingOperation’ do JFrame, ela deve estar como ‘EXIT_ON_CLOSE’. Isto que causa a saída do programa ao se fechar a janela. Altere-o para ‘DISPOSE_ON_CLOSE’ para que apenas a janela seja fechada.”

Dê uma olhada neste site:
http://oswing.sourceforge.net/tutorial.html

Silvio Guedes

Oi,

setExtendedState(JFrame.MAXIMIZED_BOTH);

Como assim? Você quer saber qual é o método para colocar um botão fechar na tela ou qual método utilizar para fechar a tela na ação do botão fechar?

Você provavelmente está utilizando System.exit(0). Este comando faz com que seu programa seja encerrado por completo. Você deverá utilizar o método dispose();

Tchauzin!

[quote=thiagocg]Olá, respondendo a seu questionamento:

tente o seguinte:seuJFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);
Quanto as duas outras perguntas, a resposta do colega Fernando provavelmente irá resolver a questão!

[]'s[/quote]

Tiago estou colocando nesse método no próprio JFrame mas deve estar errado pois nao funcionou:

public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Principal().setVisible(true);
                new Principal().setExtendedState(Principal.MAXIMIZED_BOTH);
                
            }
        });
    }

Oi,

Você está criando 2 Frames quando utiliza 2 vezes o comando new Principal().

Você deve colocar o comando setExtendedState(JFrame.MAXIMIZED_BOTH); no construtor da classe Principal.

Tchauzin!

[quote=lina]Oi,

Você está criando 2 Frames quando utiliza 2 vezes o comando new Principal().

Você deve colocar o comando setExtendedState(JFrame.MAXIMIZED_BOTH); no construtor da classe Principal.

Tchauzin!
[/quote]

Era isso mesmo, valew Lina

Oi,

Em relação a sua segunda pergunta, eu não entendi… você já achou solução?!

Tchauzin!

[quote=lina]Oi,

Em relação a sua segunda pergunta, eu não entendi… você já achou solução?!

Tchauzin![/quote]

Minha segunda pergunta era qual método utilizar para fechar uma tela, eu fiz com o dispose() e deu certo.

valew, obrigado

[quote=lina]Oi,

setExtendedState(JFrame.MAXIMIZED_BOTH);

Como assim? Você quer saber qual é o método para colocar um botão fechar na tela ou qual método utilizar para fechar a tela na ação do botão fechar?

Você provavelmente está utilizando System.exit(0). Este comando faz com que seu programa seja encerrado por completo. Você deverá utilizar o método dispose();

Tchauzin![/quote]

Lina, e qual evento eu devo usar o System.exit(0) para encerrar minha aplicaçao?

Oi,

System.exit(0) fecha o programa como um todo. Encerra o processamento da sua aplicação. Ou seja, deve colocar ele no botão 'Sair" do janela de Menus…
O método dispose() irá fechar a janela atual aberta.

Tchauzin!

Oi,

Eu não sei como está o tratamento da sua tela grafica. Mais geralmente é utilizado no windowClosing ou na ação do menu Sair.

Tchauzin!

[quote=lina]Oi,

System.exit(0) fecha o programa como um todo. Encerra o processamento da sua aplicação. Ou seja, deve colocar ele no botão 'Sair" do janela de Menus…
O método dispose() irá fechar a janela atual aberta.

Tchauzin![/quote]

Eu coloquei mas nao faz nada:

private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        System.exit(0);
    }

Oi,

Então esse código nem está sendo executado!

=)

Tchauzin!

[quote=lina]Oi,

Então esse código nem está sendo executado!

=)

Tchauzin![/quote]

Deu certo Lina, obrigado.