swing:color

Differences

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

Link to this comparison view

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>​
 +
swing/color.1430830986.txt.gz · Last modified: 2016/02/26 11:15 (external edit)