This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
swing:color [2015/05/05 13:12] gthanos |
swing:color [2016/02/26 11:15] (current) |
||
---|---|---|---|
Line 54: | Line 54: | ||
====== Παράδειγμα χρήση της κλάσης Color ====== | ====== Παράδειγμα χρήση της κλάσης Color ====== | ||
- | Παρακάτω δίνουμε ένα παράδειγμα όπου χρησιμοποιούμε ότι μάθαμε μέχρι τώρα αναφορικά με το Swing framework. Δημιουργούμε ένα παράθυρο και ορίζουμε ως Manager για το content pane του παραθύρου τον [[swing:start#Border Layout Manager|BorderLayout Manager]]. | + | Παρακάτω δίνουμε ένα παράδειγμα όπου χρησιμοποιούμε ότι μάθαμε μέχρι τώρα αναφορικά με το Swing framework. Δημιουργούμε ένα παράθυρο και ορίζουμε ως Manager για το content pane του παραθύρου τον [[swing:start#Border Layout Manager|BorderLayout Manager]]. Στις περιοχές //WEST//, //CENTER//, //EAST// τοποθετούμε απλά JPanel αντικείμενα τα οποία τους αλλάζουμε το χρώμα. Στην περιοχή //SOUTH// τοποθετούμε ένα νέο JPanel (buttonPanel) με FlowLayout Manager και 3 κουμπιά, ένα κόκκινο, ένα άσπρο και ένα μπλε. Κάθε φορά που πατάμε ένα κουμπί τα χρώματα στο τρία παραπάνω Panels εναλλάσσονται. Δείτε τον κώδικα και κατεβάστε και τρέξτε το παράδειγμα. |
+ | |||
+ | <code java PanelDemo.java> | ||
+ | import javax.swing.*; | ||
+ | import java.awt.*; | ||
+ | import java.awt.event.*; | ||
+ | |||
+ | public class PanelDemo extends JFrame implements ActionListener { | ||
+ | public static final int WIDTH = 300; | ||
+ | public static final int HEIGHT = 200; | ||
+ | |||
+ | private JPanel redPanel; | ||
+ | private JPanel whitePanel; | ||
+ | private JPanel bluePanel; | ||
+ | |||
+ | public static void main(String args[]) { | ||
+ | PanelDemo gui = new PanelDemo(); | ||
+ | gui.setVisible(true); | ||
+ | } | ||
+ | |||
+ | public PanelDemo() { | ||
+ | super("Panel Demonstration"); | ||
+ | setSize(WIDTH, HEIGHT); | ||
+ | setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | ||
+ | setLayout(new BorderLayout()); | ||
+ | |||
+ | JPanel biggerPanel = new JPanel(); | ||
+ | biggerPanel.setLayout(new GridLayout(1,3)); | ||
+ | |||
+ | redPanel = new JPanel(); | ||
+ | redPanel.setBackground(Color.LIGHT_GRAY); | ||
+ | biggerPanel.add(redPanel); | ||
+ | |||
+ | whitePanel = new JPanel(); | ||
+ | whitePanel.setBackground(Color.LIGHT_GRAY); | ||
+ | biggerPanel.add(whitePanel); | ||
+ | |||
+ | bluePanel = new JPanel(); | ||
+ | bluePanel.setBackground(Color.LIGHT_GRAY); | ||
+ | biggerPanel.add(bluePanel); | ||
+ | |||
+ | add(biggerPanel, BorderLayout.CENTER); | ||
+ | |||
+ | JPanel buttonPanel = new JPanel(); | ||
+ | buttonPanel.setLayout(new FlowLayout()); | ||
+ | buttonPanel.setBackground(Color.LIGHT_GRAY); | ||
+ | |||
+ | JButton redButton = new JButton("Red"); | ||
+ | redButton.setBackground(Color.RED); | ||
+ | redButton.addActionListener(this); | ||
+ | buttonPanel.add(redButton); | ||
+ | |||
+ | JButton whiteButton = new JButton("White"); | ||
+ | whiteButton.setBackground(Color.WHITE); | ||
+ | whiteButton.addActionListener(this); | ||
+ | buttonPanel.add(whiteButton); | ||
+ | |||
+ | JButton blueButton = new JButton("Blue"); | ||
+ | blueButton.setBackground(Color.BLUE); | ||
+ | blueButton.addActionListener(this); | ||
+ | buttonPanel.add(blueButton); | ||
+ | |||
+ | add(buttonPanel, BorderLayout.SOUTH); | ||
+ | } | ||
+ | |||
+ | public void actionPerformed(ActionEvent e) { | ||
+ | String buttonString = e.getActionCommand(); | ||
+ | if(buttonString.equals("Red") ) { | ||
+ | redPanel.setBackground(Color.RED); | ||
+ | whitePanel.setBackground(Color.LIGHT_GRAY); | ||
+ | bluePanel.setBackground(Color.LIGHT_GRAY); | ||
+ | } | ||
+ | else if(buttonString.equals("White") ) { | ||
+ | redPanel.setBackground(Color.LIGHT_GRAY); | ||
+ | whitePanel.setBackground(Color.WHITE); | ||
+ | bluePanel.setBackground(Color.LIGHT_GRAY); | ||
+ | } | ||
+ | else if(buttonString.equals("Blue") ) { | ||
+ | redPanel.setBackground(Color.LIGHT_GRAY); | ||
+ | whitePanel.setBackground(Color.LIGHT_GRAY); | ||
+ | bluePanel.setBackground(Color.BLUE); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </code> | ||