Cara aprenda Java e aproveite a lista ! ! ! ! ! >-----Mensagem original----- >De: Pedro Costa Nogueira [mailto:[EMAIL PROTECTED]] >Enviada em: Quarta-feira, 23 de Fevereiro de 2000 13:25 >Para: [EMAIL PROTECTED] >Assunto: [SouJava-J] Re: [SouJava-J] Aplica��o n�o retorna ao prompt > > >Algu�m me cadastrou no grupo "SouJava' >Eu n�o trabalho com Java, estou recebendo v�rios e-mails do grupo. >Gostaria q tomassem as providencias para q meu endere�o fosse >retirado da >lista. Obrigado. >-----Mensagem original----- >De: Luis Fernando <[EMAIL PROTECTED]> >Para: [EMAIL PROTECTED] <[EMAIL PROTECTED]> >Data: Quarta-feira, 23 de Fevereiro de 2000 12:19 >Assunto: Re: [SouJava-J] Aplica��o n�o retorna ao prompt > > >> >> >> >>>Ol� pessoal ! >>> >>>Rodei um pequeno exemplo de c�digo e ele funciona OK, mas >quando fecho a >>>aplica��o, o prompt n�o retorna. Sou obrigado a ir no gerenciador de >tarefa >>>e matar o processo java.exe no Winnt. >>>N�o sei se � relevante, mas para conseguir rodar, tive que setar o >>>classpath com o comando SET CLASSPATH= , para desaparecer o erro que >>>estava ocorrendo ao rodar: ""Exception in thread "main" >>>java.lang.NoClassDefFounError:Teste"" >>> >>>O que tem de errado nesse c�digo ? >> >>>// >>>import javax.swing.*; >>>import java.awt.event.*; >>>import java.awt.*; >>> >>>public class Teste extends JFrame implements ActionListener >>>{ >>> JPanel pn1A; >>> JPanel pn1B; >>> JLayeredPane layeredPane; >>> JMenuItem mA; >>> JMenuItem mB; >>> public static void main( String args[] ) >>> { >>> new Teste(); >>> } >>> public Teste() >>> { >>> super("Teste"); >>> setBounds( 200, 100, 400, 400 ); >>> layeredPane = getLayeredPane(); >>> layeredPane.setLayout( null ); >>> >>> //Prepara o menu >>> JMenuBar menuBar = new JMenuBar(); >>> getRootPane().setJMenuBar( menuBar ); >>> JMenu menu = new JMenu( "Pain�is"); >>> menuBar.add( menu ); >>> mA = new JMenuItem("Panel A"); >>> mA.addActionListener( this ); >>> menu.add( mA ); >>> mB = new JMenuItem("Panel B"); >>> mB.addActionListener( this ); >>> menu.add( mB ); >>> >>> // Cria os Pain�is >>> pn1A = new JPanel(); >>> pn1A.setBackground( Color.blue ); >>> pn1A.setBounds( 0, 20, 400, 380 ); >>> layeredPane.add( pn1A, new Integer(1)); >>> >>> pn1B = new JPanel(); >>> pn1B.setBackground( Color.yellow ); >>> pn1B.setBounds( 0, 20, 400, 380 ); >>> layeredPane.add( pn1B, new Integer(2)); >>> >>> setVisible( true ); >>> } >>> >>> public void actionPerformed( ActionEvent ae ) >>> { >>> >>> if( ae.getSource() == mA ) >>> { >>> layeredPane.setLayer( pn1A, 1 ); >>> layeredPane.setLayer( pn1B, 0 ); >>> } >>> else >>> { >>> layeredPane.setLayer( pn1A, 0 ); >>> layeredPane.setLayer( pn1B, 1 ); >>> } >>> } >>>} >>>// >>> >>>Abra�os. >>> >>>Jos� Fernando >> >> Se voce encerrar o programa ao fechar a janela do frame, >esse problema >>deve ser resolvido. Basta adicionar um WindowListener e >encerrar o processo >>usando System.exit(0). Observe as modificacoes no metodo main. >> >>import javax.swing.*; >>import java.awt.event.*; >>import java.awt.*; >> >>public class Teste extends JFrame implements ActionListener >>{ >> JPanel pn1A; >> JPanel pn1B; >> JLayeredPane layeredPane; >> JMenuItem mA; >> JMenuItem mB; >> >> public Teste() >> { >> super("Teste"); >> setBounds( 200, 100, 400, 400 ); >> layeredPane = getLayeredPane(); >> layeredPane.setLayout( null ); >> >> //Prepara o menu >> JMenuBar menuBar = new JMenuBar(); >> getRootPane().setJMenuBar( menuBar ); >> JMenu menu = new JMenu( "Pain�is"); >> menuBar.add( menu ); >> mA = new JMenuItem("Panel A"); >> mA.addActionListener( this ); >> menu.add( mA ); >> mB = new JMenuItem("Panel B"); >> mB.addActionListener( this ); >> menu.add( mB ); >> >> // Cria os Pain�is >> pn1A = new JPanel(); >> pn1A.setBackground( Color.blue ); >> pn1A.setBounds( 0, 20, 400, 380 ); >> layeredPane.add( pn1A, new Integer(1)); >> >> pn1B = new JPanel(); >> pn1B.setBackground( Color.yellow ); >> pn1B.setBounds( 0, 20, 400, 380 ); >> layeredPane.add( pn1B, new Integer(2)); >> >> setVisible( true ); >> } >> >> public void actionPerformed( ActionEvent ae ) >> { >> >> if( ae.getSource() == mA ) >> { >> layeredPane.setLayer( pn1A, 1 ); >> layeredPane.setLayer( pn1B, 0 ); >> } >> else >> { >> layeredPane.setLayer( pn1A, 0 ); >> layeredPane.setLayer( pn1B, 1 ); >> } >> } >> //***MODIFICACOES >> public static void main( String args[] ) >> { >> Teste app = new Teste(); >> >> app.addWindowListener( new WindowAdapter() >> { >> public void windowClosing(WindowEvent e) >> { >> System.exit(0); >> } >> } >> ); >> >> >> }//close main >> >>} >> >>Assim voce finaliza a aplicacao quando a janela eh fechada >retornando ao >>prompt. >> >>Espero que a dica ajude. >> >>Abraco, >>Luis Fernando. >> >> >> >> >>______________________________________________________ >>Get Your Private, Free Email at http://www.hotmail.com >> >> --------------------------- 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] >> [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm] > --------------------------------------------------------------------- > --------------------------- 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] [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm] --------------------------------------------------------------------- --------------------------- 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] [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm] ---------------------------------------------------------------------
