This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| swing:color [2015/05/05 13:03] gthanos created | swing:color [2016/02/26 11:15] (current) | ||
|---|---|---|---|
| Line 28: | Line 28: | ||
| </code> | </code> | ||
| - | Αν θέλετε να ορίσετε τα δικά σας αντικείμενα τύπου Color μπορείτε να το κάνετε με ένα από τους  κατασκευαστές. | + | Αν θέλετε να ορίσετε τα δικά σας αντικείμενα τύπου Color μπορείτε να το κάνετε με ένα από τους παρακάτω [[https://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#constructor_summary|κατασκευαστές]]. | 
| <code java> | <code java> | ||
| Color(ColorSpace cspace, float[] components, float alpha) | Color(ColorSpace cspace, float[] components, float alpha) | ||
| Line 50: | Line 50: | ||
| Color(int r, int g, int b, int a) | Color(int r, int g, int b, int a) | ||
| Creates an sRGB color with the specified red, green, blue, and alpha values in the range (0 - 255). | Creates an sRGB color with the specified red, green, blue, and alpha values in the range (0 - 255). | ||
| + | </code> | ||
| + | ====== Παράδειγμα χρήση της κλάσης Color ====== | ||
| + | |||
| + | Παρακάτω δίνουμε ένα παράδειγμα όπου χρησιμοποιούμε ότι μάθαμε μέχρι τώρα αναφορικά με το 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> | </code> | ||
| + | |||