Chamar uma classe

10 respostas
G

Boa tarde galera !!!

To criando um menuzinho , mas to com um probleminha !!!
Criei uma Classe para abrir um doc ... até ai td bem ...
Queria chama-la no programa ao clicar no menu ajuda ...
Ai q eu não consegui !!!
Segue abaixo o codigo !!!

package Puncionadeira;


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;



public class Home extends JFrame
{

   private JDesktopPane internalFrame;
   private JMenuBar  bar;
   private JMenu  saldo, manutenção, relatorio, ajuda;
   private JMenuItem sql, sair, inserir, consultar, ferramental;

   ImageIcon icone = new ImageIcon ("Punc.jpg");

   public Home(){
   	 

      super("Ferramental Puncionadeira");


         bar = new JMenuBar();
         manutenção = new JMenu("Manutenção");
         manutenção.setMnemonic(KeyEvent.VK_M);
 		 saldo = new JMenu("Saldo");
 		 saldo.setMnemonic(KeyEvent.VK_S);
 		 ajuda = new JMenu("Ajuda");
 		 ajuda.setMnemonic(KeyEvent.VK_A);
 		 relatorio = new JMenu("Relatório");
         relatorio.setMnemonic(KeyEvent.VK_R);
         sql = new JMenuItem("SQL");   
         sql.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_S, ActionEvent.CTRL_MASK));
 		 sql.setMnemonic(KeyEvent.VK_S);
 		 sql.addActionListener( new TrataEventoDesktop() );
 		 sair = new JMenuItem("Sair");   
         sair.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_S, ActionEvent.CTRL_MASK));
 		 sair.setMnemonic(KeyEvent.VK_S);
 		 sair.addActionListener( new TrataEventoDesktop() );
 		 inserir = new JMenuItem("Inserir");   
         inserir.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_I, ActionEvent.CTRL_MASK));
 		 inserir.setMnemonic(KeyEvent.VK_I);
 		 inserir.addActionListener( new TrataEventoDesktop() );
 		 consultar = new JMenuItem("Consultar");   
         consultar.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_C, ActionEvent.CTRL_MASK));
 		 consultar.setMnemonic(KeyEvent.VK_C);
 		 consultar.addActionListener( new TrataEventoDesktop() );
 		 ferramental = new JMenuItem("Ferramental");   
         ferramental.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_F, ActionEvent.CTRL_MASK));
 		 ferramental.setMnemonic(KeyEvent.VK_F);
 		 ferramental.addActionListener( new TrataEventoDesktop() );
         
         
         
         
         bar.add(saldo);
         setJMenuBar(bar);
         saldo.add (inserir);
         saldo.add(sair);
         //saldo.add (consultar);
         bar.add(relatorio);
         setJMenuBar(bar);
         relatorio.add (ferramental);
         bar.add(manutenção);
         setJMenuBar(bar);
         manutenção.add(sql);
         bar.add(ajuda);
         setJMenuBar(bar);
         
         JLabel L1 = new JLabel(icone);
         

         internalFrame = new JDesktopPane();
         getContentPane().add(internalFrame);

		 getContentPane().add(L1);
		
         setSize(800,600);
         setResizable (false);
         setVisible(true);
   }   

public class Arquivos 
 {
 	
 	
 	public void main(String args[])throws Exception
 	{
 		
 	Runtime.getRuntime().exec("cmd || command /c start C:/teste.doc");
 	}
 	
 	
 }
 
   private class TrataEventoDesktop implements ActionListener
      
   	{
   		

      public void actionPerformed( ActionEvent evento ) 
      	
      	{
      
      		
         
         if ( evento.getSource() ==  sql )
         	{
                        new ConsultaSQL ();
            }
         if ( evento.getSource() ==  sair )
         {
         	System.exit (0);
         }   
         if ( evento.getSource() ==  inserir )
         	{
                        new Ferramentas();
            }   
            	if ( evento.getSource() ==  ajuda )
         	{
         	   	new Arquivos();  AQUI É Q ESTA O PROBLEMA
         	 // Chamar o arquivo txt Chamar o arquivo txt Chamar o arquivo txt Chamar o arquivo txt Chamar o arquivo txt
         	}
     		
     		if ( evento.getSource() ==  ferramental )
         	{
                        new Relatorio();
            }   
        }  
         
         	 
            
       }
       	
 
       
     	public static void main (String args [])
		{
			Home app= new Home();
			app.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
		}
     
  
 }

[color="red"]*Editado: lembre-se de usar BBCode em suas mensagens no fórum. Jair Elton[/color]

10 Respostas

R

No lugar de colocar no método main, coloca num abrirArquivo()… pode facilitar as coisas…

[]'s

G

Coloquei entre try catch
e não deu erro !!! Porém não faz nada … Não funcionou !!!
Não sofre ação nenhuma !!!

package Puncionadeira;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;

public class Home extends JFrame
{

   private JDesktopPane internalFrame;
   private JMenuBar  bar;
   private JMenu  saldo, manutenção, relatorio, ajuda;
   private JMenuItem sql, sair, inserir, consultar, ferramental;

   ImageIcon icone = new ImageIcon ("Punc.jpg");

   public Home(){
   	 

      super("Ferramental Puncionadeira");


         bar = new JMenuBar();
         manutenção = new JMenu("Manutenção");
         manutenção.setMnemonic(KeyEvent.VK_M);
 		 saldo = new JMenu("Saldo");
 		 saldo.setMnemonic(KeyEvent.VK_S);
 		 ajuda = new JMenu("Ajuda");
 		 ajuda.setMnemonic(KeyEvent.VK_A);
 		 ajuda.addActionListener( new TrataEventoDesktop() );
 		 relatorio = new JMenu("Relatório");
         relatorio.setMnemonic(KeyEvent.VK_R);
         sql = new JMenuItem("SQL");   
         sql.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_S, ActionEvent.CTRL_MASK));
 		 sql.setMnemonic(KeyEvent.VK_S);
 		 sql.addActionListener( new TrataEventoDesktop() );
 		 sair = new JMenuItem("Sair");   
         sair.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_S, ActionEvent.CTRL_MASK));
 		 sair.setMnemonic(KeyEvent.VK_S);
 		 sair.addActionListener( new TrataEventoDesktop() );
 		 inserir = new JMenuItem("Inserir");   
         inserir.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_I, ActionEvent.CTRL_MASK));
 		 inserir.setMnemonic(KeyEvent.VK_I);
 		 inserir.addActionListener( new TrataEventoDesktop() );
 		 consultar = new JMenuItem("Consultar");   
         consultar.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_C, ActionEvent.CTRL_MASK));
 		 consultar.setMnemonic(KeyEvent.VK_C);
 		 consultar.addActionListener( new TrataEventoDesktop() );
 		 ferramental = new JMenuItem("Ferramental");   
         ferramental.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_F, ActionEvent.CTRL_MASK));
 		 ferramental.setMnemonic(KeyEvent.VK_F);
 		 ferramental.addActionListener( new TrataEventoDesktop() );
         
         
         
         
         bar.add(saldo);
         setJMenuBar(bar);
         saldo.add (inserir);
         saldo.add(sair);
         //saldo.add (consultar);
         bar.add(relatorio);
         setJMenuBar(bar);
         relatorio.add (ferramental);
         bar.add(manutenção);
         setJMenuBar(bar);
         manutenção.add(sql);
         bar.add(ajuda);
         setJMenuBar(bar);
         
         JLabel L1 = new JLabel(icone);
         

         internalFrame = new JDesktopPane();
         getContentPane().add(internalFrame);

		 getContentPane().add(L1);
		
         setSize(800,600);
         setResizable (false);
         setVisible(true);
      
   }
 /*public class Arquivos
 {
 	
 	
 	public void main (String args[])throws Exception
 	{
 		
 	Runtime.getRuntime().exec("cmd || command /c start C:/teste.doc");
 	
 	}
 	
 	
 }*/
 
   public class TrataEventoDesktop implements ActionListener 
      
   	{
   		

      public void actionPerformed( ActionEvent evento ) 
      	
      	{
      		
      
      		
         
         if ( evento.getSource() ==  sql )
         	{
                        new ConsultaSQL ();
            }
         if ( evento.getSource() ==  sair )
         {
         	System.exit (0);
         }   
         if ( evento.getSource() ==  inserir )
         	{
                        new Ferramentas();
            }   
            	if ( evento.getSource() ==  ajuda )
         	{
         	 try {
 				Runtime.getRuntime().exec("cmd || command /c start C:/teste.doc");
 			} 
 				catch (IOException e) 
 					{
 				JOptionPane.showMessageDialog (null, "Nao sei o que aconteceu !!!", "Mensagem do Programa", JOptionPane.ERROR_MESSAGE);
 			}
 		
 		
 	
 			}
         	 
         	
     		
     		if ( evento.getSource() ==  ferramental )
         	{
                        new Relatorio();
            }   
        }  
         
         	 
            
       }
       	
   
       
     	public static void main (String args [])
		{
			Home app= new Home();
			app.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
		}
     
  
 }

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Carneiro[/color][/size] :joia:

L

Tah…

Primeiro vamos começar a ajustar as coisas aqui, para começar isolar o seu problema, ao invés obrigar alguém a olhar esse código grande postado.

Seu problema está aqui:

try {
					Runtime.getRuntime().exec(
							"cmd || command /c start C:/teste.doc");
				} catch (IOException e) {
					JOptionPane.showMessageDialog(null,
							"Nao sei o que aconteceu !!!",
							"Mensagem do Programa", JOptionPane.ERROR_MESSAGE);
				}

Certo?! vc basicamente esta querendo abrir o arquivo teste.doc então?

Segundo, vc faz idéia para que serve o try catch?! vc falou que não deu erro, tem certeza que não deu uma mensagem: “nao sei o que aconteceu !!!”? de qualquer forma, quando dava erro, que erro dava?!?!

Terceiro, já tentou pesquisar no google sobre como abrir arquivos .doc com java?!

http://www.onjava.com/pub/a/onjava/2003/01/22/poi.html
http://www.guj.com.br/posts/list/17921.java
http://www.geekinterview.com/question_details/21019
http://www.artima.com/forums/flat.jsp?forum=1&thread=37372

bele?! :wink:

G

Ja tentei pesquisar sim !!!
E desta maneira criado em um script a parte ele funciona !!!
Agora a idéia é coloca-lo neste contexto !!!
Sem o Try Catch ele me gerava este erro !!!
unreported exception java.io.IOException; must be caught or declared to be thrown …
O Try Catch serve para ele tentar executar a tarefa , caso não consiga de a mensagem do catch …
Mas não ta dando nem se quer a mensagem de erro !!!

Sim meu problema esta neste bloco !!!

L

“gelinho”:
Ja tentei pesquisar sim !!!
E desta maneira criado em um script a parte ele funciona !!!
Agora a idéia é coloca-lo neste contexto !!!
Sem o Try Catch ele me gerava este erro !!!
unreported exception java.io.IOException; must be caught or declared to be thrown …
O Try Catch serve para ele tentar executar a tarefa , caso não consiga de a mensagem do catch …
Mas não ta dando nem se quer a mensagem de erro !!!

Sim meu problema esta neste bloco !!!

Eu to no linux, não entendo de comando do sistema operacional, mas o que seria esse comando:

Pelo que vi nos outros post não seria assim:

Outra coisa, sua aplicação é Desktop, se o cliente executar na máquina dele, o arquivo teste.doc não vai estar no c:/, como vc pretende resolver isso?!

G

Cara ele não ta nem mesmo rodando na minha maquina que esta em c:
Depois eu vou colocar um caminho na rede …
Mas a principio preciso fazer funcionar o básico !!!
cmd é no win xp e command no win98 …
Não temos estações Linux aqui na empresa !!!

L

Vai em iniciar, executar e digita
cmd || command /c start C:/teste.doc

funciona?!

É que para mim o estranho é “cmd || command”, operador || para comandos do SO?! seila

G

Funciona sim !!!
O || representa OU Lógico !!!
Funcionou normalmente no executar !!!

BrunoBastosPJ

eu nao trabalho com windows faz tempo, mas eu acho que se você tem que mudar de c:/teste.doc para c:\teste.doc

G

Acredito que para este somando RunTime funcionar eu preciso abrir uma classe com
public static void main (String args []) trows Exception

Porém esta classe já esta sendo utilizada mais abaixo , então não sei como utiliza-lo !!!

public class TrataEventoDesktop implements ActionListener

{
	

  public void actionPerformed( ActionEvent evento ) 
  	
  	{
  		
  
  		
     
     if ( evento.getSource() ==  sql )
     	{
                    new ConsultaSQL ();
        }
     if ( evento.getSource() ==  sair )
     {
     	System.exit (0);
     }   
     if ( evento.getSource() ==  inserir )
     	{
                    new Ferramentas();
        }   
        	if ( evento.getSource() ==  ajuda )
     	{
     	 try {
     	 	
			Runtime.getRuntime().exec("cmd || command /c start C:/teste.doc");
			 } 
			catch (IOException e) 
				{
			JOptionPane.showMessageDialog (null, "Nao sei o que aconteceu !!!", "Mensagem do Programa", JOptionPane.ERROR_MESSAGE);
		}
	
	

		}
     	 
     	
 		
 		if ( evento.getSource() ==  ferramental )
     	{
                    new Relatorio();
        }   
    }  
     
     	 
        
   }
   	

   
 	public static void main (String args [])
	{
		Home app= new Home();
		app.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
	}

}

Criado 5 de junho de 2007
Ultima resposta 11 de jun. de 2007
Respostas 10
Participantes 4