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