This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
swing:first_program [2018/03/22 09:52] gthanos |
swing:first_program [2021/04/12 06:19] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Το πρώτο μου πρόγραμμα ====== | ||
| - | |||
| - | Παρακάτω φτιάχνουμε ένα πρώτο απλό παραθυρικό πρόγραμμα το οποίο έχει μόνο ένα κουμπί που τερματίζει την εφαρμογή. Κατεβάστε και τρέξτε τα επόμενα δύο αρχεία. | ||
| - | |||
| - | <code java FirstWindow.java> | ||
| - | import javax.swing.JFrame; | ||
| - | import javax.swing.JButton; | ||
| - | import java.awt.event.*; | ||
| - | |||
| - | public class FirstSwingDemo2 { | ||
| - | public static final int WIDTH = 300; | ||
| - | public static final int HEIGHT = 200; | ||
| - | | ||
| - | public static void showGUI() { | ||
| - | JFrame firstWindow = new JFrame(); | ||
| - | firstWindow.setSize(WIDTH, | ||
| - | firstWindow.setTitle(" | ||
| - | firstWindow.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); | ||
| - | JButton endButton = new JButton(" | ||
| - | | ||
| - | 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// μέσα από την κλήση. | ||
| - | <code java> | ||
| - | JFrame firstWindow = new JFrame(); | ||
| - | </ | ||
| - | Το αντικείμενο αυτό είναι ένα απλό παράθυρο με τρία κουμπιά (minimize, resize, close). Στη συνέχεια ορίζουμε το μέγεθος του παραθύρου (σε pixels) και τον τίτλο του. | ||
| - | <code java> | ||
| - | firstWindow.setSize(WIDTH, | ||
| - | firstWindow.setTitle(" | ||
| - | </ | ||
| - | Από την εμπειρία σας γνωρίζετε ότι όταν πατήσετε το κουμπί για το κλείσιμο του παραθύρου τότε το παράθυρο κλείνει και η εφαρμογή τερματίζεται. Η παρακάτω γραμμή διαχειρίζεται διαφορετικά ένα click event στο κουμπί κλεισίματος του παραθύρου, | ||
| - | <code java> | ||
| - | firstWindow.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); | ||
| - | </ | ||
| - | |||
| - | Στην συνέχεια ορίζουμε ένα αντικείμενο τύπου JButton (κουμπί) με τίτλο "Click to end program." | ||
| - | <code java> | ||
| - | JButton endButton = new JButton(" | ||
| - | ActionListener buttonEar = new ActionListener() { | ||
| - | public void actionPerformed(ActionEvent e) { | ||
| - | System.exit(0); | ||
| - | } | ||
| - | }; | ||
| - | endButton.addActionListener(buttonEar); | ||
| - | </ | ||
| - | |||
| - | Προσθέτουμε το κουμπί στο παράθυρο και ορίζουμε ότι το παράθυρο που φτιάξαμε θέλουμε να είναι ορατό. | ||
| - | <code java> | ||
| - | firstWindow.add(endButton); | ||
| - | firstWindow.pack(); | ||
| - | firstWindow.setVisible(true); | ||
| - | </ | ||
| - | |||
| - | Το πρόγραμμα εκκινεί μέσω της στατικής μεθόδου **main** όπως παρακάτω. Ο παρακάτω κώδικας θα εξηγηθεί σε επόμενη ενότητα. | ||
| - | <code java> | ||
| - | public static void main(String[] args) { | ||
| - | javax.swing.SwingUtilities.invokeLater(new Runnable() { | ||
| - | public void run() { | ||
| - | showGUI(); | ||
| - | } | ||
| - | }); | ||
| - | } | ||
| - | </ | ||
| - | |||