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!!!
JButton botao = new JButton();
botao.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent ae ) {
// codigo a ser executado aqui...
}
}
);
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!!
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…
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.