swing:color

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
swing:color [2015/05/05 13:03]
gthanos
swing:color [2016/02/26 11:15] (current)
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.1430831028.txt.gz · Last modified: 2016/02/26 11:15 (external edit)