swing:color

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

swing:color [2015/05/05 13:15]
gthanos [Παράδειγμα χρήση της κλάσης Color]
swing:color [2016/02/26 11:15]
Line 1: Line 1:
-====== Η κλάση Color ====== 
- 
-Η κλάση [[https://​docs.oracle.com/​javase/​7/​docs/​api/​java/​awt/​Color.html|Color]] δίνει την δυνατότητα να ορίσετε χρώματα στο //​background//,​ το //​foreground//​ ή τα //borders// των αντικειμένων που χρησιμοποιείτε. Για παράδειγμα αν θέλετε να ορίσετε το χρώμα στο background αντικειμένων του τύπου [[http://​docs.oracle.com/​javase/​7/​docs/​api/​javax/​swing/​JComponent.html|JComponent]] (π.χ. JPanel, JMenu, JButton, JLabel) μπορείτε να το κάνετε με χρήση της μεθόδου 
-<code java> 
-public void setBackground(Color bg) 
-</​code>​ 
- 
-Για παράδειγμα,​ αν θέλετε να αλλάξετε το background color σε μπλε σε ένα παράθυρο,​ αυτό μπορείτε να το κάνετε με μία δήλωση της μορφής (υποθέτωντας ότι είστε σε μία μέθοδο ή στον κατασκευαστή της κλάσης που κληρονομεί την κλάση JFrame): 
-<code java> 
-this.getContnetPane().setBackground(Color.BLUE);​ 
-</​code>​ 
- 
-Η κλάση Color παρέχει τα παρακάτω χρώματα ως στατικές μεταβλητές τύπου Color. 
-<code java> 
-  Color.BLACK 
-  Color.BLUE 
-  Color.CYAN 
-  Color.DARK_GRAY 
-  Color.GRAY 
-  Color.GREEN 
-  Color.LIGHT_GRAY 
-  Color.MAGENTA 
-  Color.ORANGE 
-  Color.PINK 
-  Color.RED 
-  Color.WHITE 
-  Color.YELLOW 
-</​code>​ 
- 
-Αν θέλετε να ορίσετε τα δικά σας αντικείμενα τύπου Color μπορείτε να το κάνετε με ένα από τους ​ παρακάτω [[https://​docs.oracle.com/​javase/​7/​docs/​api/​java/​awt/​Color.html#​constructor_summary|κατασκευαστές]]. 
-<code java> 
-Color(ColorSpace cspace, float[] components, float alpha) 
-Creates a color in the specified ColorSpace with the color components specified in the float array and the specified alpha. 
-------------------------------------------------------------------------- 
-Color(float r, float g, float b) 
-Creates an opaque sRGB color with the specified red, green, and blue values in the range (0.0 - 1.0). 
-------------------------------------------------------------------------- 
-Color(float r, float g, float b, float a) 
-Creates an sRGB color with the specified red, green, blue, and alpha values in the range (0.0 - 1.0). 
-------------------------------------------------------------------------- 
-Color(int rgb) 
-Creates an opaque sRGB color with the specified combined RGB value consisting of the red component in bits 16-23, the green component in bits 8-15, and the blue component in bits 0-7. 
-------------------------------------------------------------------------- 
-Color(int rgba, boolean hasalpha) 
-Creates an sRGB color with the specified combined RGBA value consisting of the alpha component in bits 24-31, the red component in bits 16-23, the green component in bits 8-15, and the blue component in bits 0-7. 
-------------------------------------------------------------------------- 
-Color(int r, int g, int b) 
-Creates an opaque sRGB color with the specified red, green, and blue values in the range (0 - 255). 
-------------------------------------------------------------------------- 
-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). 
-</​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>​ 
  
swing/color.txt · Last modified: 2016/02/26 11:15 (external edit)