Seguiremos agora com a 3.a Parte do codigo que demonstra a codificação da janela Principal, representada pela classe LojaMDI e é responsavel pela chamada das demais janelas.
Tentei deixar o maximo possivel de comentario sobre os componentes, qualquer duvida deixe um post para que possamos discutir assim que possivel.
Segue codificação :
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JDesktopPane;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
public class LojaMDI extends JFrame implements ActionListener {
static JDesktopPane desktopPane;
public LojaMDI(){
super("Loja MDI");
setSize(800,600);
// define menu
setJMenuBar(createMenuBar());
desktopPane = new JDesktopPane();
desktopPane.setLayout(null);
desktopPane.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
setContentPane(desktopPane);
}
// metodo responsavel pela criação do menu
protected JMenuBar createMenuBar(){
JMenuBar menuBar = new JMenuBar();
// criação menu Cadastro
JMenu menu = new JMenu("Cadastro");
menu.setMnemonic(KeyEvent.VK_C);
menuBar.add(menu);
// criação de itens do menu Cadastro - Clientes
JMenuItem menuItem = new JMenuItem("Clientes");
menuItem.setMnemonic(KeyEvent.VK_L);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,
ActionEvent.ALT_MASK));
menuItem.setActionCommand("cadCli");
menuItem.addActionListener(this);
menu.add(menuItem);
// criação de itens do menu Cadastro - Produtos
menuItem = new JMenuItem("Produtos");
menuItem.setMnemonic(KeyEvent.VK_P);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,
ActionEvent.ALT_MASK));
menuItem.setActionCommand("cadProd");
menuItem.addActionListener(this);
menu.add(menuItem);
// criação de itens do menu Cadastro - Venda
menuItem = new JMenuItem("Venda");
menuItem.setMnemonic(KeyEvent.VK_V);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,
ActionEvent.ALT_MASK));
menuItem.setActionCommand("cadVenda");
menuItem.addActionListener(this);
menu.add(menuItem);
// criação menu Sistema
menu = new JMenu("Sistema");
menu.setMnemonic(KeyEvent.VK_S);
menuBar.add(menu);
// criação de itens do menu Sistema - Ajuda
menuItem = new JMenuItem("Ajuda");
menuItem.setMnemonic(KeyEvent.VK_A);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,
ActionEvent.ALT_MASK));
menuItem.setActionCommand("ajuda");
menuItem.addActionListener(this);
menu.add(menuItem);
// criação de separador no menu Sistema
menu.addSeparator();
// criação de itens do menu Sistema - Sair
menuItem = new JMenuItem("Sair");
menuItem.setMnemonic(KeyEvent.VK_R);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,
ActionEvent.ALT_MASK));
menuItem.setActionCommand("sair");
menuItem.addActionListener(this);
menu.add(menuItem);
return menuBar;
}
// metodo responsavel por montagem de componentes do frame principal
private static void createAndShowGui(){
// altera skin das janelas e dialogs
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
LojaMDI frmLoja = new LojaMDI();
// define pções de inicialização da janela principal.
frmLoja.setExtendedState(JFrame.MAXIMIZED_BOTH);
frmLoja.setLayout(null);
frmLoja.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frmLoja.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if("cadCli".equals(e.getActionCommand())){
CadClientes frmCadCli = new CadClientes();
desktopPane.add(frmCadCli);
// opção para definir que o ultimo internalframe abersto
// seja o que ficará com foco.
try {
frmCadCli.setSelected(true);
} catch (java.beans.PropertyVetoException error) {
error.printStackTrace();
}
}
if("sair".equals(e.getActionCommand())){
// customização de optionpane para que altere os valores de en_US
// para pt_BR, pode ser adicionado mais customizações, como icone
// enre outros, para isto consultar referência no fim do post.
Object [] simNao = { "Sim", "Não" };
int opcao = JOptionPane.showOptionDialog(null, "Deseja sair do sistema ?",
"Loja MDI", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
simNao, simNao[0]);
if(opcao == JOptionPane.YES_OPTION){
System.exit(0);
}
}
}
public static void main(String args[]){
// thread de exibiçao da gui
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}
:: Referência
- Pagina de componentes Swing
Nenhum comentário:
Postar um comentário