====== Το πρώτο μου πρόγραμμα ======
Παρακάτω φτιάχνουμε ένα πρώτο απλό παραθυρικό πρόγραμμα το οποίο έχει μόνο ένα κουμπί που τερματίζει την εφαρμογή. Κατεβάστε και τρέξτε τα επόμενα δύο αρχεία.
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.event.*;
public class FirstSwingDemo {
public static final int WIDTH = 300;
public static final int HEIGHT = 200;
public static void showGUI() {
JFrame firstWindow = new JFrame();
firstWindow.setSize(WIDTH, HEIGHT);
firstWindow.setTitle("First Window Program!");
firstWindow.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
JButton endButton = new JButton("Click to end program.");
ActionListener buttonEar = new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
};
endButton.addActionListener(buttonEar);
firstWindow.add(endButton);
firstWindow.pack();
firstWindow.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
showGUI();
}
});
}
}
Ας εξετάσουμε όμως τι κάνει το πρόγραμμα μας. Αρχικά δημιουργούμε ένα αντικείμενο του τύπου //JFrame// μέσα από την κλήση.
JFrame firstWindow = new JFrame();
Το αντικείμενο αυτό είναι ένα απλό παράθυρο με τρία κουμπιά (minimize, resize, close). Στη συνέχεια ορίζουμε το μέγεθος του παραθύρου (σε pixels) και τον τίτλο του.
firstWindow.setSize(WIDTH, HEIGHT);
firstWindow.setTitle("First Window Program!");
Από την εμπειρία σας γνωρίζετε ότι όταν πατήσετε το κουμπί για το κλείσιμο του παραθύρου τότε το παράθυρο κλείνει και η εφαρμογή τερματίζεται. Η παρακάτω γραμμή διαχειρίζεται διαφορετικά ένα click event στο κουμπί κλεισίματος του παραθύρου, όπου όταν πατήσετε το κουμπί κλεισίματος αντί το παράθυρο να κλείσει δεν κάνει τίποτα.
firstWindow.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
Στην συνέχεια ορίζουμε ένα αντικείμενο τύπου JButton (κουμπί) με τίτλο "Click to end program." και δημιουργούμε και έναν Listener τον οποίο συνδέουμε με το συγκεκριμένο κουμπί.
JButton endButton = new JButton("Click to end program.");
ActionListener buttonEar = new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
};
endButton.addActionListener(buttonEar);
Προσθέτουμε το κουμπί στο παράθυρο και ορίζουμε ότι το παράθυρο που φτιάξαμε θέλουμε να είναι ορατό.
firstWindow.add(endButton);
firstWindow.pack();
firstWindow.setVisible(true);
Το πρόγραμμα εκκινεί μέσω της στατικής μεθόδου **main** όπως παρακάτω. Ο παρακάτω κώδικας θα εξηγηθεί σε επόμενη ενότητα.
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
showGUI();
}
});
}
| Προηγούμενο: [[:swing:intro| Δημιουργία γραφικού περιβάλλοντος με swing ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:swing:events | Events & Event Listeners ]] |