This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
|
swing:first_program [2021/04/12 06:19] |
swing:first_program [2021/04/12 07:19] gthanos |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Το πρώτο μου πρόγραμμα ====== | ||
| + | |||
| + | Παρακάτω φτιάχνουμε ένα πρώτο απλό παραθυρικό πρόγραμμα το οποίο έχει μόνο ένα κουμπί που τερματίζει την εφαρμογή. Κατεβάστε και τρέξτε τα επόμενα δύο αρχεία. | ||
| + | |||
| + | <code java FirstSwingDemo.java> | ||
| + | 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, | ||
| + | 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(); | ||
| + | } | ||
| + | }); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | | Προηγούμενο: | ||
| + | |||