Ir ao conteúdo
  • Cadastre-se

Java Interface Gráfica (JFrame)


Posts recomendados

Deem um help aqui por favor pro meu "projetinho" da faculdade;

Quero colocar uma mensagem informativa quando eu clicar no item "sobre";

Sei que tenho que usar o seguinte código: "JOptionPane.showMessageDialog(itemSobreSistema, "Desenvolvido por Fulano ", "Versão 1.0", JOptionPane.INFORMATION_MESSAGE);", porém não sei colocar quando clicar, simplesmente a caixa de mensagem com a informação aparece quando eu rodo o programa;

package testwindows;

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

public class TestWindows {
    public static void main(String[] args) {
    
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Mostrar Botão de Fechar do Sistema
        frame.setSize(500, 450); // Tamanho da Janela
        frame.setLocation(300,200); //Centralizar a Janela
        
        // Menus
        JMenu menuAluno = new JMenu("Aluno");
        JMenu menuProfessor = new JMenu("Professor");
        JMenu menuCurso = new JMenu("Curso");
        JMenu menuSistema = new JMenu("Sistema");
        JMenuBar barraMenu = new JMenuBar();
        
        //Itens Menu Aluno
        JMenuItem itemCadastroAluno = new JMenuItem("Cadastrar");
        JMenuItem itemProcurarAluno = new JMenuItem("Procurar");
        JMenuItem itemRemoverAluno = new JMenuItem("Remover");
        barraMenu.add(menuAluno);// Add o Menu Aluno na barra
        //add itens no Menu Aluno
        menuAluno.add(itemCadastroAluno);
        menuAluno.add(itemProcurarAluno);
        menuAluno.add(itemRemoverAluno);
        
        //Itens Menu Professor
        JMenuItem itemCadastrarProfessor = new JMenuItem("Cadastrar");
        JMenuItem itemProcurarProfessor = new JMenuItem("Procurar");
        JMenuItem itemRemoverProfessor = new JMenuItem("Remover");
        barraMenu.add(menuProfessor); // Add o Menu Professor na barra
        //add itens no Menu Professor
        menuProfessor.add(itemCadastrarProfessor);
        menuProfessor.add(itemProcurarProfessor);
        menuProfessor.add(itemRemoverProfessor);
        
        //Itens Menu Curso
        JMenuItem itemCadastrarCurso = new JMenuItem("Cadastrar");
        JMenuItem itemProcurarCurso = new JMenuItem("Procurar");
        JMenuItem itemRemoverCurso = new JMenuItem("Remover");
        barraMenu.add(menuCurso);
        //add itens no Menu Curso
        menuCurso.add(itemCadastrarCurso);
        menuCurso.add(itemProcurarCurso);
        menuCurso.add(itemRemoverCurso);
        
        //Itens Menu Sistema
        JMenuItem itemSobreSistema = new JMenuItem("Sobre");
        JOptionPane.showMessageDialog(itemSobreSistema, "Desenvolvido por Douglas Rafael", "Versão 1.0", JOptionPane.INFORMATION_MESSAGE);
        JMenuItem itemSairSistema = new JMenuItem("Sair");
        barraMenu.add(menuSistema); //add Menu Sistema na barra
        //Add itens no Menu
        menuSistema.add(itemSobreSistema);
        menuSistema.add(itemSairSistema);
        
        frame.getContentPane().add(barraMenu, BorderLayout.NORTH);// Exibir a barra no Painel
        frame.setVisible(true);//Tornar Painel visível
    }
    
}

Meu Painel

590bbc3d6fa99_Screenshot2017-05-0420_38_42.png.3b83799bf6f780a61b88ff2b972408e0.png

Link para o comentário
Compartilhar em outros sites

A professora só mostrou o Jframe somente no método main, então no caso eu teria que criar a classe "Sistema" e criar o set e get de sobre?

adicionado 0 minutos depois
20 horas atrás, TwistedSoul disse:

Boa noite.

 

Esse código do JOptionPane precisa estar no método que será executado ao clicar no item do menu. Da forma como você fez, ele vai executar direto toda vez que o programa executar.

A professora só mostrou o Jframe somente no método main, então no caso eu teria que criar a classe "Sistema" e criar o set e get de sobre?

Boa noite :D

adicionado 16 minutos depois
16 minutos atrás, DoodohRafael disse:

A professora só mostrou o Jframe somente no método main, então no caso eu teria que criar a classe "Sistema" e criar o set e get de sobre?

adicionado 0 minutos depois

A professora só mostrou o Jframe somente no método main, então no caso eu teria que criar a classe "Sistema" e criar o set e get de sobre?

Boa noite :D

Da uma força ai irmão, acho que se você fizer eu vou entender melhor, não to conseguindo fazer; 

Olha o que ela pede: 

"Construa um caixa de diálogo para exibir informações sobre o sistema ao clicar em Sistema->Sobre."

Link para o comentário
Compartilhar em outros sites

@DoodohRafael OK, vamos lá.

 

Primeiro você deve remover aquela chamada do JOptionPane do método main. Logo depois que você criar o item de menu itemSobreSistema, você deve acrescentar um listener a esse item, ou seja, um método que fica "ouvindo" quando algo é feito com determinado elemento de tela.

 

itemSobreSistema.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    	itemSobreSistemaActionPerformed(evt);
	}
});

Depois, você deve criar um método que vai executar a rotina ao clicar especificamente sobre esse item do menu, assim

 

private static void itemSobreSistemaActionPerformed(java.awt.event.ActionEvent event) {
        JOptionPane.showMessageDialog(null, "Desenvolvido por Douglas Rafael", "Versão 1.0", JOptionPane.INFORMATION_MESSAGE);
    }

Dessa forma, seu código vai funcionar de boa.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!