01: /*
02: * MenuJanelaFacotry.java
03: *
04: * Criado em 7 de Março de 2004, 11:24
05: */
06:
07: package br.com.gfp.windows.builders;
08:
09: import javax.swing.JMenuItem;
10: import javax.swing.JSeparator;
11:
12: import br.com.gfp.actions.AbrirDBAction;
13: import br.com.gfp.dao.GFPController;
14: import br.com.gfp.util.GFPProperties;
15: import br.com.gfp.util.SimpleLog;
16: import br.com.gfpshare.beans.aplicativos.ArquivosRecentes;
17: import br.com.gfpshare.builder.menu.MenuCreationException;
18:
19: /**
20: * @author Igor Regis da Silva Simões
21: */
22: public class MenuArquivoBuilder extends GFPMenuBuilder {
23: /**
24: * Cria uma nova instância de MenuJanelaFacotry
25: * @param fileOpen boolean indicando se existe um arquivo aberto
26: * @throws MenuCreationException
27: */
28: public MenuArquivoBuilder(boolean fileOpen)
29: throws MenuCreationException {
30: super ("/xml/menu/MenuArquivo.xml", fileOpen);
31: }
32:
33: /**
34: * @see br.com.gfpshare.builder.menu.MenuBuilder#rebuildMenu(boolean)
35: */
36: @Override
37: protected void rebuildMenu(boolean removeAll) {
38: super .rebuildMenu(true);
39:
40: Object[] arqs = null;
41: try {
42: arqs = new ArquivosRecentes(
43: System
44: .getProperty(GFPProperties.DIRETORIO_BANCO_DE_DADOS))
45: .toArray();
46: } catch (Exception e) {
47: ((SimpleLog) GFPController.getGFPController().getContexto()
48: .get(GFPController.LOG))
49: .log("Erro ao ler configuracao de arquivos recentes!");
50: ((SimpleLog) GFPController.getGFPController().getContexto()
51: .get(GFPController.LOG)).log(e
52: .getLocalizedMessage());
53: ((SimpleLog) GFPController.getGFPController().getContexto()
54: .get(GFPController.LOG)).log(e);
55: }
56:
57: /* Adicionamos os itens referentes aos arquivos abertos recentemente
58: A posicao é -2 para que seja acima do item Sair do menu
59: */
60: this .add(new JSeparator(), this .getMenuComponentCount() - 2);
61:
62: for (int i = 0; i < arqs.length; i++) {
63: JMenuItem item = new JMenuItem((i + 1) + " - "
64: + arqs[i].toString());
65: item.setMnemonic(((i + 1) + "").charAt(0));
66: item.setActionCommand(arqs[i].toString());
67: item.addActionListener(AbrirDBAction.getAction());
68: this .add(item, this .getMenuComponentCount() - 2);
69: }
70: }
71: }
|