Como fazer isso!

Galera, to iniciando no java, to lendo um livro aki do deitel… num manjo praticamente nada… porém me surgiu a necessidade de fazer um programinha bem simples…

eu preciso de um programa, com um único botão, q quando clicado, chame um outro executável externo, bem simples… algo do tipo

OnClick.Open(“notepad.exe”);

tipo isso, mas nem sei fazer isso…

Alguém pode me ajudar urgentemente… ficaria muito GRATO!!!

Vlw!!

Olá

Calma e paciência. Avança no livro que vai chegar lá.

[]s
Luca

Tah ai

 Runtime.getRuntime().exec("notepad"); 

[quote=Carlos Martins]Tah ai

 Runtime.getRuntime().exec("notepad"); 

[/quote]

blz, mas como colocar isso na ação do meu botão??

tipo como tah aki no meu código, ou um outro exemplo se vc achar mais simples!!

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

public class Launcher extends JFrame
{
    public Launcher()
    {
        JPanel panel = new JPanel();
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
        
        JButton botao1 = new JButton("Botão 1");
        
        panel.add(botao1);
        
        getContentPane().add(panel);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        pack();
        setVisible(true);
    }
    
    public static void main(String args[])
    {
        new Launcher();
    }
}

vlw hein!

JButton botao = new JButton();
botao.addActionListener(
  new ActionListener() {
    public void actionPerformed( ActionEvent ae ) {
     // codigo a ser executado aqui...
  }
}
);
blz, mas como colocar isso na ação do meu botão?? 
tipo como tah aki no meu código, ou um outro exemplo se vc achar mais simples!! 

Soh fazer assim:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;     
 public class Launcher extends JFrame implements ActionListener
 {
     private JButton botao1;
     private JPanel panel;
     public Launcher()
     {
         super("Teste");
         setSize(500,400);
         setLocation(100,100);
         panel = new JPanel();
         panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
         botao1 = new JButton("Botão 1");
         botao1.addActionListener(this);
         panel.add(botao1);
         getContentPane().add(panel,BorderLayout.SOUTH);
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         setVisible(true);
     }
     public void actionPerformed(ActionEvent e)
     {
        if (e.getSource() == botao1)
        {
            try
            {
                Runtime.getRuntime().exec("notepad"); 
            }
            catch(IOException ex)
            {
                JOptionPane.showMessageDialog(null,e.toString());
            }
        }
     } 
     public static void main(String args[])
     {
         new Launcher();
     }
 }
 

Vlw Carlos Martins… era isso mesmo que eu precisava… valew mesmo!

:smiley:

Olhando seu codigo inicial observa-se que voce esqueceu de adicionar o botão ao ouvinte. O Ouvinte como o proprio nome diz fica ouvindo o botão para ver se vai acontecer algum evento. Ao acontecer algum evento ele executa o evento que voce programou para aquele botão.

Comentando o codigo para ver se te acresce alguma coisa …

// Sua classe implenta o ouvinte ActionListener que é uma classe abstrata
//por isso o  metodo actionPerformed precisa ser implementado.

  public class Launcher extends JFrame implements ActionListener
  {
      private JButton botao1;
      private JPanel panel;
//metodo construtor, e nele que tudo vai ser inicializado....
      public Launcher()   {
//voce esta sentado o nome Teste na sua Classe PAI (JFrame) .. lembra
//do extends.... perceba a herança......
        super("Teste");
         setSize(500,400);
          setLocation(100,100);
          panel = new JPanel();
          panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
          botao1 = new JButton("Botão 1");
//Adicionando o botao1 ao ouvinte.... agora sim ele fica monitorando o 
/botao
          botao1.addActionListener(this);
          panel.add(botao1);
          getContentPane().add(panel,BorderLayout.SOUTH);
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          setVisible(true);
      }
//esse aqui é o metodo necessario para executar os eventos
      public void actionPerformed(ActionEvent e)
      {
//caso o acontessa algum evento no botao1 executa as ações
         if (e.getSource() == botao1)
         {
             try
             {
                 Runtime.getRuntime().exec("notepad"); 
             }
             catch(IOException ex)
             {
                 JOptionPane.showMessageDialog(null,e.toString());
             }
         }
      } 
      public static void main(String args[])
      {
          new Launcher();
      }
  }

São detalhes que achei importante voce saber, caso nao tenha te acrescido em nada é so ignorar!!

Flw até a proxima…

Opa… valew, qto mais detalhes, eh lógico q fica melhor pra entender… eu to iniciando ainda, então algumas coisas pra mim ainda eh chinês… essa coisa de orientação a objetos e meio embaçado… mais eu to pegando aos poucos… valew mesmo… :smiley:

Errei aqui

catch(IOException ex)
{
                  JOptionPane.showMessageDialog(null,e.toString());
}

no lugar de e.toString() substitua por ex.toString(). Observe q ex e a execeçao disparada caso acontença um problema no try{} e nao o evento disparado pelo clique no botao.