This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
swing:start [2015/05/02 12:03] gthanos [Containers & Layout Managers] |
swing:start [2015/05/02 13:00] gthanos |
||
---|---|---|---|
Line 16: | Line 16: | ||
===== Border Layout Manager ===== | ===== Border Layout Manager ===== | ||
- | Η διάταξη ενός παραθύρου με BorderLayout manager φαίνεται στο παρακάτω σχήμα. | + | Η διάταξη ενός παραθύρου με [[http://docs.oracle.com/javase/7/docs/api/java/awt/BorderLayout.html|BorderLayout]] manager φαίνεται στο παρακάτω σχήμα. |
- | {{ :swing:swing-borderlayout.png?450 | }} | + | {{ :swing:swing-borderlayout.png?350 | }} |
+ | |||
+ | Όπως φαίνεται και από το σχήμα ο BorderLayout manager έχει 5 περιοχές **NORTH**, **SOUTH**, **WEST**, **CENTER**, **EAST**. Δείτε το παρακάτω πρόγραμμα το οποίο χρησιμοποιεί ένα παράθυρο με 5 κουμπιά, ένα για κάθε περιοχή που ορίζει ο BorderLayoutManager. | ||
+ | |||
+ | <code java BorderLayoutDemo.java> | ||
+ | import javax.swing.*; | ||
+ | import java.awt.event.ActionListener; | ||
+ | import java.awt.event.ActionEvent; | ||
+ | import java.awt.*; | ||
+ | |||
+ | public class BorderLayoutDemo extends JFrame { | ||
+ | public BorderLayoutDemo () { | ||
+ | super(); | ||
+ | setSize(400, 150); | ||
+ | setTitle("BorderLayout Demo"); | ||
+ | setLayout(new BorderLayout()); | ||
+ | setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); | ||
+ | |||
+ | ButtonListener listener = new ButtonListener(); | ||
+ | JButton northButton = new JButton("North Button"); | ||
+ | northButton.addActionListener( listener ); | ||
+ | add(northButton, BorderLayout.NORTH); | ||
+ | |||
+ | JButton southButton = new JButton("South Button"); | ||
+ | southButton.addActionListener( listener ); | ||
+ | add(southButton, BorderLayout.SOUTH); | ||
+ | |||
+ | JButton westButton = new JButton("West Button"); | ||
+ | westButton.addActionListener( listener ); | ||
+ | add(westButton, BorderLayout.WEST); | ||
+ | |||
+ | JButton eastButton = new JButton("East Button"); | ||
+ | eastButton.addActionListener( listener ); | ||
+ | add(eastButton, BorderLayout.EAST); | ||
+ | |||
+ | JButton centerButton = new JButton("Center Button"); | ||
+ | centerButton.addActionListener( listener ); | ||
+ | add(centerButton, BorderLayout.CENTER); | ||
+ | } | ||
+ | |||
+ | public class ButtonListener implements ActionListener { | ||
+ | public void actionPerformed(ActionEvent e) { | ||
+ | System.out.println(e); | ||
+ | System.exit(1); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | BorderLayoutDemo w = new BorderLayoutDemo(); | ||
+ | w.setVisible(true); | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | Τι θα γίνει αν αλλάξετε την περιοχή στην οποία θα τοποθετηθούν όλα τα buttons, ώστε να είναι η περιοχή //BorderLayout.CENTER//; Παρακάτω δίνεται το παράθυρο που δημιουργείται από το πρόγραμμα. | ||
+ | |||
+ | {{ :swing:borderlayoutdemo.png?400 |}} | ||
===== Flow Layout Manager ===== | ===== Flow Layout Manager ===== |