返回列表 發帖
  1. import java.awt.BorderLayout;
  2. import java.awt.EventQueue;

  3. import javax.swing.JFrame;
  4. import javax.swing.JPanel;
  5. import javax.swing.border.EmptyBorder;
  6. import javax.swing.JTextField;
  7. import javax.swing.border.LineBorder;
  8. import javax.swing.event.ChangeEvent;
  9. import javax.swing.event.ChangeListener;

  10. import java.awt.Color;

  11. import javax.swing.JSlider;
  12. import javax.swing.JLabel;

  13. import java.awt.Font;

  14. import javax.swing.SwingConstants;


  15. public class Main extends JFrame {

  16.         private JPanel contentPane;
  17.         private JTextField textField;
  18.         private JSlider slider1;
  19.         private JSlider slider2;
  20.         private JSlider slider3;
  21.         private JLabel lb_r;
  22.         private JLabel lb_g;
  23.         private JLabel lb_b;
  24.         private JPanel panel;
  25.     private int r,g,b;
  26.         /**
  27.          * Launch the application.
  28.          */
  29.         public static void main(String[] args) {
  30.                 EventQueue.invokeLater(new Runnable() {
  31.                         public void run() {
  32.                                 try {
  33.                                         Main frame = new Main();
  34.                                         frame.setVisible(true);
  35.                                         frame.setTitle("調色工具");
  36.                                 } catch (Exception e) {
  37.                                         e.printStackTrace();
  38.                                 }
  39.                         }
  40.                 });
  41.         }

  42.         /**
  43.          * Create the frame.
  44.          */
  45.         public Main() {
  46.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  47.                 setBounds(100, 100, 435, 403);
  48.                 contentPane = new JPanel();
  49.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  50.                 setContentPane(contentPane);
  51.                 contentPane.setLayout(null);
  52.                
  53.                 textField = new JTextField();
  54.                 textField.setHorizontalAlignment(SwingConstants.CENTER);
  55.                 textField.setText("0,0,0");
  56.                 textField.setBounds(164, 10, 96, 21);
  57.                 contentPane.add(textField);
  58.                 textField.setColumns(10);
  59.                
  60.                 panel = new JPanel();
  61.                 panel.setBackground(new Color(0, 0, 0));
  62.                 panel.setBorder(new LineBorder(new Color(0, 0, 0)));
  63.                 panel.setBounds(149, 41, 126, 128);
  64.                 contentPane.add(panel);
  65.                
  66.                 slider1 = new JSlider();
  67.                 slider1.setValue(0);
  68.                 slider1.setMaximum(255);
  69.                 slider1.setBounds(10, 193, 276, 23);
  70.                 slider1.addChangeListener(new ChangeListener(){
  71.                           public void stateChanged(ChangeEvent e)
  72.                           {
  73.                                   lb_r.setText(slider1.getValue()+"");
  74.                                   r=slider1.getValue();
  75.                                   panel.setBackground(new Color(r, g, b));
  76.                                   textField.setText(r+","+g+","+b);
  77.                           }
  78.                 });
  79.                 contentPane.add(slider1);
  80.                
  81.                 slider2 = new JSlider();
  82.                 slider2.setValue(0);
  83.                 slider2.setMaximum(255);
  84.                 slider2.setBounds(10, 254, 276, 23);
  85.                 slider2.addChangeListener(new ChangeListener(){
  86.                           public void stateChanged(ChangeEvent e)
  87.                           {
  88.                                   lb_g.setText(slider2.getValue()+"");
  89.                                   g=slider2.getValue();
  90.                                   panel.setBackground(new Color(r, g, b));
  91.                                   textField.setText(r+","+g+","+b);
  92.                           }
  93.                 });
  94.                 contentPane.add(slider2);
  95.                
  96.                 slider3 = new JSlider();
  97.                 slider3.setValue(0);
  98.                 slider3.setMaximum(255);
  99.                 slider3.setBounds(10, 312, 276, 23);
  100.                 slider3.addChangeListener(new ChangeListener(){
  101.                           public void stateChanged(ChangeEvent e)
  102.                           {
  103.                                   lb_b.setText(slider3.getValue()+"");
  104.                                   b=slider3.getValue();
  105.                                   panel.setBackground(new Color(r, g, b));
  106.                                   textField.setText(r+","+g+","+b);
  107.                           }
  108.                 });
  109.                 contentPane.add(slider3);
  110.                
  111.                 lb_r = new JLabel("0");
  112.                 lb_r.setFont(new Font("新細明體", Font.BOLD, 16));
  113.                 lb_r.setForeground(Color.RED);
  114.                 lb_r.setBounds(318, 193, 57, 23);
  115.                 contentPane.add(lb_r);
  116.                
  117.                 lb_g = new JLabel("0");
  118.                 lb_g.setForeground(new Color(0, 100, 0));
  119.                 lb_g.setFont(new Font("新細明體", Font.BOLD, 16));
  120.                 lb_g.setBounds(318, 254, 57, 23);
  121.                 contentPane.add(lb_g);
  122.                
  123.                 lb_b = new JLabel("0");
  124.                 lb_b.setForeground(new Color(0, 0, 139));
  125.                 lb_b.setFont(new Font("新細明體", Font.BOLD, 16));
  126.                 lb_b.setBounds(318, 312, 57, 23);
  127.                 contentPane.add(lb_b);
  128.         }
  129. }
複製代碼

TOP

返回列表