Pour un programme simple il peut être pratique de réunir les deux fonctions dans une même classe, en créant une fenêtre exécutable : il suffit pour cela d'écrire une classe dérivant de JFrame et de lui ajouter une méthode main .
Exemple :
import javax.swing.*;
import java.awt.Color;
public class Autofenetre extends JFrame {
String titre="Fenêtre exécutable";
JTextField ligne_de_saisie;
JPanel fond;
Autofenetre(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocation(400,400);
setTitle(titre);
fond=new JPanel();
add(fond);
ligne_de_saisie=new JTextField(30);
fond.add(ligne_de_saisie);
setVisible(true);
pack();
}
public static void main(String[] args) {
Autofenetre fenetre=new Autofenetre();
fenetre.ligne_de_saisie.setText("Voilà ce que j'ai à dire");
fenetre.fond.setBackground(Color.CYAN);
}
}
La classe Autofenetre possède un constructeur et une méthode main dans laquelle une instance de la classe est créée, afin d'obtenir une fenêtre. Cette instance est nommée (fenetre) afin de pouvoir être manipulée par la suite.
On peut aussi dans le main créer une instance anonyme d'Autofenetre en écrivant simplement la ligne new Autofenetre(). On ne pourra alors pas accéder à ses champs et méthodes depuis le main.