Duas funções para o mesmo jToggleButton?

Olá,

Sou iniciante em Java e estou com uma dúvida:

Iniciei um novo projeto bem símples. Ele apenas inicia e encerra um programa do Windows. Até ai tudo bem, minha dúvida
é como utilizar o botão jToggleButton para iniciar o programa quando for “pressionado” e encerrar o mesmo programa
quando fosse “solto” (quando recebesse um segundo clique).

Para iniciar o programa, estou fazendo da seguinte forma:


  private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {
            try {
            Runtime.getRuntime().exec("calc.exe");
        } catch (IOException ex) {
            Logger.getLogger(Delta.class.getName()).log(Level.SEVERE, null, ex);
    }

No exemplo acima, abro o calc.exe.

Como faço pra encerrá-lo usando o mesmo jToggleButton.

Desde já, agradeço :smiley:

isSelected

Você tem de pôr um “if” e testar o método isSelected do objeto JToggleButton.

Atenção: fechar um programa é mais difícil que abri-lo. Não vou explicar como é que se fecha o programa no reduzido espaço que disponho; procure alguma coisa na Internet ou no próprio GUJ.

ok!

E como ficaria o código?

Obrigado

[quote=jReaper]ok!

E como ficaria o código?

Obrigado[/quote]

oi pessoal ?

Será que alguém pode me ajudar? :frowning:

Você terá algo como:

            jToggleButton = new JToggleButton();
	    jToggleButton.setPreferredSize(new Dimension(100, 25));
	    jToggleButton.setText("Programa");
	    jToggleButton.addActionListener(new ActionListener() {

		public void actionPerformed(ActionEvent e) {
		    if (jToggleButton.isSelected()) {
			try {
			    Runtime.getRuntime().exec("caminhoDoPrograma");
			} catch (IOException ex) {
			    ex.printStackTrace(); // trate as excessões
						  // corretamente
			}
		    } else {
			System.out.println("Deveria terminar o programa"); // aí é com você...
		    }
		}
	    });

Muito Obrigado!

Funcionou perfeitamente! :smiley: