Swing

Arquivo: App.java

package minhaappjavafx.MinhaAppJavaFX;

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

public class App extends JFrame {

private JButton Nome_do_botao;

public App() {

super("Formulario");
this.setSize(400,200);
this.setLocation(50, 100);

Container ct = this.getContentPane();
ct.setLayout(null);

Nome_do_botao = new JButton("Clique aqui");

Nome_do_botao.setBounds(50,10,150,25);

ct.add(Nome_do_botao);

Image Icone = Toolkit.getDefaultToolkit().getImage("icon.gif");
setIconImage(Icone);

this.setVisible(true);

Nome_do_botao.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(Nome_do_botao.getText().equals("<html><font color='blue'>Teste 2</font></html>")){
Nome_do_botao.setText("<html><font color='red'>Teste 1</font></html>");
} else {
Nome_do_botao.setText("<html><font color='blue'>Teste 2</font></html>");
}
}});

this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}});

}
public static void main(String[] args) {
new App();
}
}