Duzolini,
O que est� acontecendo � que voc� est� direcionando os eventos
"ActionEvent", gerenciados pelo ActionListener, para os objetos "Menu", e
n�o os "MenuItem". Crie um atributo para cada MenuItem, instancie cada um
deles, associe-os aos seus respectivos Menu's, e chame para cada MenuItem o
m�todo addActionListener.
[]'s
Rosfran
-----Original Message-----
From: Duzolini
To: [EMAIL PROTECTED]
Sent: 24/11/2002 18:59
Subject: [java-list] duvida simples urgente
ola
sou iniciante em java
ta fazendo um gerador de codigos pra java
entao
to com um problema
ai no programa tem um fundo preto
eh um textarea
dai abro um janela pra criar as classes
dai quando clico em criar classe mando dar um append no textarea com o
nome da mesma
soh q ele nao faz isso
n aparece nada
o q poderia ser
em anexo vai o codigo
valeu e ate mais
//Programa Gerador de c�digo destinado a cumprir os requisitos da
//disciplina Laboratorio VI
//Produzido por Eduardo Pasquotto Orsolini
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
//Imports
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
//Class Classe
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
class Classe implements Serializable
{
String identificador;
String tipo;
Vector atributos;
Vector metodos;
Classe()
{
identificador = "";
atributos = new Vector();
metodos = new Vector();
}//construtora
public void setIdentificador(String identificador)
{
this.identificador = identificador;
System.out.println("passei por aki");
}
public String getIdentificador()
{
return identificador;
}
public void setAtributos(Vector atributos)
{
this.atributos = atributos;
}
public Vector getAtributos()
{
return atributos;
}
public void setTipos(String tipo)
{
this.tipo = tipo;
}
public String getTipos()
{
return tipo;
}
public void setMetodos(Vector metodos)
{
this.metodos = metodos;
}
public Vector getMetodos()
{
return metodos;
}
}//class Classe
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
//Class Gerador
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
public class Gerador extends Frame implements ActionListener
{
TextArea ta = new TextArea(30, 30);
Vector classes, relacionamentos;
//menus
MenuBar mbar;
Menu mArquivo, mClasse;
Gerador()
{
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension d = tk.getScreenSize();
setSize(800,600); // tamanho do frame
setTitle("Gerador vers�o 0.1"); // titulo do frame
addWindowListener(new WindowAdapter(){public void
windowClosing(WindowEvent e){System.exit(0);}}); // fecha o frame
ta.setBackground(Color.black);
ta.setForeground(Color.red);
//criar Arrays
classes = new Vector();
relacionamentos = new Vector();
//criar menus
mbar = new MenuBar(); //cria barra de menus
setMenuBar(mbar); //coloca barra de menus ao
frame
//define os submenus que serao adicionados ao menu
mArquivo = new Menu("Arquivo");
mClasse = new Menu("Classe");
//define menuItens de mArquivo
mArquivo.add(new MenuItem("Abrir"));
mArquivo.add(new MenuItem("Salvar"));
mArquivo.add(new MenuItem("Fechar"));
mArquivo.addSeparator(); // insere separador
mArquivo.add(new MenuItem("Sair"));
//define menuItem de mClasse
mClasse.add(new MenuItem("Abrir Classe"));
mClasse.add(new MenuItem("Listar"));
//adiciona submenu ao menu
mbar.add(mArquivo);
mbar.add(mClasse);
//adiciona escutadores ao menus
mArquivo.addActionListener(this);
mClasse.addActionListener(this);
add("Center", ta);
setLocation((d.width - getWidth())/2,(d.height -
getHeight())/2);
}//construtora Gerador
public void actionPerformed(ActionEvent e)
{
String quemFoi = e.getActionCommand();
if (quemFoi.equals("Sair"))
{
System.out.println("O Gerador Ernest foi Fechado");
System.exit(0);
}//if
if(quemFoi.equals("Abrir Classe"))
{
Frame2 frame2 = new Frame2();
}//if
if(quemFoi.equals("Salvar"))
{
salvar();
}//if
if(quemFoi.equals("Abrir"))
{
abrir();
}
if(quemFoi.equals("Listar"))
{
listar();
}
}//void actionPerformed
public void criarClasse(String identificador)
{
Classe classe = new Classe();
System.out.println(identificador);
classe.setIdentificador(identificador);
ta.append("Criada classe: "+classe.getIdentificador());
classes.addElement(classe);
}//CriarClasse
public void tipoClasse(String tipo)
{
Classe classe = new Classe();
System.out.println(tipo);
classe.setTipos(tipo);
classes.addElement(classe);
}
protected void salvar()
{
FileDialog fd = new FileDialog(this, "Salvar classes e
relacionamentos", FileDialog.SAVE);
fd.setVisible(true);
if (fd.getFile() != null)
{
try
{
FileOutputStream outfile = new
FileOutputStream(fd.getDirectory()+fd.getFile());
ObjectOutputStream out = new
ObjectOutputStream(outfile);
out.writeObject(classes);
// out.writeObject(relacionamentos);
ta.append("Dados salvos no arquivo
"+fd.getFile()+"\n");
out.close();
}
catch (IOException e)
{
ta.append("Erro de IO: nao foi possivel salvar dados
no arquivo\n");
}
}
}//protected void salvar
protected void abrir()
{
FileDialog fd = new FileDialog(this, "Recuperar classes e
relacionamentos", FileDialog.LOAD);
fd.setVisible(true);
if (fd.getFile() != null)
{
try
{
FileInputStream infile = new
FileInputStream(fd.getDirectory()+fd.getFile());
ObjectInputStream in = new ObjectInputStream(infile);
classes = (Vector) in.readObject();
//relacionamentos = (Vector) in.readObject();
ta.append("Dados recuperados do arquivo
"+fd.getFile()+"\n");
}
catch (ClassNotFoundException e)
{
System.out.println("Erro: classe nao encontrada\n");
}
catch (IOException e)
{
ta.append("Erro de IO: nao foi possivel recuperar dados
do arquivo\n");
}
catch (Exception e)
{
ta.append("Erro: nao foi possivel recuperar dados do
arquivo\n");
}
}//if
}//void
protected void listar()
{
int i;
Classe classe;
//Relacionamento relacionamento;
ta.append("Listagem de classes:\n");
for (i = 0; i < classes.size(); i++)
{
classe = (Classe) classes.elementAt(i);
ta.append("\t"+classe.getIdentificador()+"\n");
}
/* ta.append("Listagem de relacionamentos:\n");
for (i = 0; i < relacionamentos.size(); i++)
{
relacionamento = (Relacionamento)
relacionamentos.elementAt(i);
ta.append("\t"+relacionamento.getOrigem()+" ---
"+relacionamento.getDestino()+"\n");
}*/
}
public static void main(String args[])
{
Gerador gerador = new Gerador();
gerador.setVisible(true);
}//void main
}//class Gerador
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
//Class Frame2
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
class Frame2 extends Frame implements ActionListener
{
CardLayout cardLayout = new CardLayout();
Panel cardPanel = new Panel();
Panel p1, p2, p3, p4, p5;
Panel p11, p12, p13, p14;
Panel p21, p22, p23, p24;
Panel p31, p32;
Panel p41, p42;
Panel p51, p52;
Panel pBotao;
Gerador gerador = new Gerador();;
Button b01, b02, b03, b04, b05;
// componentes de interface para o painel de Classes
TextField tf1;
Label l1,l12,l13;
Choice ch1, ch12;
Button bClasse;
// componentes de interface para o painel de Atributos
TextField tf2, tf21, tf22;
Label l2, l21, l22;
Button bAtributo;
// componentes de interface para o painel de Metodo
Label l3;
TextField tf3;
Choice ch3;
// componentes de interface para o painel de Generalizacao
Label l4, l41;
Choice ch4, ch41;
//componentes de interface para o painel de Associacao
Label l5;
TextField tf5;
Frame2()
{
super("Constru��o");
setSize(640,475);
setResizable(false);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension d = tk.getScreenSize();
setLocation((d.width - getWidth())/2,(d.height -
getHeight())/2);
addWindowListener(new WindowAdapter(){public void
windowClosing(WindowEvent e){setVisible(false);}}); // fecha o frame
setLayout(new BorderLayout());
//Painel de Classe
p1 = new Panel();
p11 = new Panel();
p12 = new Panel();
p13 = new Panel();
p14 = new Panel();
p1.setLayout(new GridLayout(4,1));
l1 = new Label("Nome da Classe"); //criar label
p11.add(l1);
tf1 = new TextField(20); //criar TextField
p11.add(tf1);
l12 = new Label("Modificador"); //criar Label
p12.add(l12);
bClasse = new Button("Criar Classe");
bClasse.addActionListener(this);
p13.add(bClasse);
ch1 = new Choice(); //criando choice
ch1.add("abstract"); //criando opcoes
ch1.add("public");
ch1.add("final");
p12.add(ch1);
l13 = new Label("Visibilidade"); //criando Label
p14.add(l13);
ch12 = new Choice();
ch12.add("publica");
ch12.add("n�o publica");
p14.add(ch12);
p1.add(p11);
p1.add(p12);
p1.add(p14);
p1.add(p13);
//Painel de Atributos
p2 = new Panel();
p21 = new Panel();
p22 = new Panel();
p23 = new Panel();
p24 = new Panel();
p2.setLayout(new GridLayout(4,1));
l2 = new Label("Nome do Atributo");
p21.add(l2);
tf2 = new TextField(20);
p21.add(tf2);
l21 = new Label("Tipo");
p22.add(l21);
tf21 = new TextField(20);
p22.add(tf21);
l22 = new Label("Modificador");
p23.add(l22);
tf22 = new TextField(20);
p23.add(tf22);
bAtributo = new Button("Criar Atributo");
p24.add(bAtributo);
p2.add(p21);
p2.add(p22);
p2.add(p23);
p2.add(p24);
//painel M�todos
p3 = new Panel();
p3.setLayout(new GridLayout(4,1));
p31 = new Panel();
p32 = new Panel();
l3 = new Label("Nome do M�todo"); //cria label
p31.add(l3);
tf3 = new TextField(20); //criar textField
p31.add(tf3);
l3 = new Label("Visibilidade");
p32.add(l3);
ch3 = new Choice(); //cria choice
ch3.add("public");
ch3.add("private");
ch3.add("protect");
p32.add(ch3);
p3.add(p31);
p3.add(p32);
//painel Generalizacao
p4 = new Panel();
p4.setLayout(new GridLayout(4,1));
p41 = new Panel();
p42 = new Panel();
l4 = new Label("Classe 1"); //criar Label
p41.add(l4);
ch4 = new Choice(); //criar choice
p41.add(ch4);
l41 = new Label("Classe 2"); //criar Label
p42.add(l41);
ch41 = new Choice();
p42.add(ch41);
p4.add(p41);
p4.add(p42);
//painel Associa��o
p5 = new Panel();
p5.setLayout(new GridLayout(5,1));
p51 = new Panel();
l5 = new Label("Nome Associa��o"); //criar Label
p51.add(l5);
tf5 = new TextField(20);
p51.add(tf5);
p5.add(p51);
//criar Botoes
pBotao = new Panel();
b01 = new Button("Classe");
b01.addActionListener(this);
b02 = new Button("Atributo");
b02.addActionListener(this);
b03 = new Button("M�todo");
b03.addActionListener(this);
b04 = new Button("Generaliza��o");
b04.addActionListener(this);
b05 = new Button("Associa��o");
b05.addActionListener(this);
pBotao.add(b01);
pBotao.add(b02);
pBotao.add(b03);
pBotao.add(b04);
pBotao.add(b05);
add("South",pBotao);
cardPanel.setLayout(cardLayout);
cardPanel.add("card 1", p1);
cardPanel.add("card 2", p2);
cardPanel.add("card 3", p3);
cardPanel.add("card 4", p4);
cardPanel.add("card 5", p5);
add(cardPanel, "Center");
show();
}//construtora
public void actionPerformed(ActionEvent e)
{
String quemFoi = e.getActionCommand();
Object quem = e.getSource();
if (quemFoi.equals("Classe"))
cardLayout.show(cardPanel, "card 1");
else if (quemFoi.equals("Atributo"))
cardLayout.show(cardPanel, "card 2");
else if (quemFoi.equals("M�todo"))
cardLayout.show(cardPanel, "card 3");
else if (quemFoi.equals("Generaliza��o"))
cardLayout.show(cardPanel, "card 4");
else if (quemFoi.equals("Associa��o"))
cardLayout.show(cardPanel, "card 5");
if (quem == bClasse)
{
gerador.criarClasse(tf1.getText());
gerador.tipoClasse(ch1.getSelectedItem());
tf1.setText("");
}
}
}//class Frame2
------------------------------ LISTA SOUJAVA
----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para
[EMAIL PROTECTED]
------------------------------------------------------------------------
-
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------