亲宝软件园·资讯

展开

Java RGB调色面板

智慧的猪- 人气:0

一、概述

因为我们知道颜色是由R、G、B、三种颜色所组成的,那么我们只需要更改这三个的数值。我们就可以实现一个简单的调色面板;以下是代码演示:

二、代码

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.*;

public class RgbJpanel {
    int r,g,b;
    JFrame jf = new JFrame("RGB调色面板");
    // 一个用于设置RGB调色,一个用于显示背景颜色
    JPanel jp_1 = new JPanel();
    JPanel jp_2 = new JPanel();
    JLabel jl_1 = new JLabel("R值");
    JLabel jl_2 = new JLabel("G值");
    JLabel jl_3 = new JLabel("B值");
    JTextField jtf_1 = new JTextField();
    JTextField jtf_2 = new JTextField();
    JTextField jtf_3 = new JTextField();
    JButton jb = new JButton("确定");

    public RgbJpanel(){
        button();
        // 使用自定义布局管理器
        jp_1.setLayout(null);
        jf.setLayout(null);
        // 设置固定位置
        jf.setBounds(200,200,500,600);
        jp_1.setBounds(0,0,200,600);
        // 设置字体位置
        jl_1.setBounds(50,30,50,30);
        jl_2.setBounds(50,180,50,30);
        jl_3.setBounds(50,330,50,30);
        // 设置字体大小
        jl_1.setFont(new Font("黑体",Font.BOLD,20));
        jl_2.setFont(new Font("黑体",Font.BOLD,20));
        jl_3.setFont(new Font("黑体",Font.BOLD,20));
        jtf_1.setBounds(50,70,50,50);
        jtf_2.setBounds(50,220,50,50);
        jtf_3.setBounds(50,370,50,50);
        jb.setBounds(50,440,80,40);
        jp_2.setBounds(300,200,150,150);
        jp_1.setBackground(new Color(150,150,150));
        jp_1.add(jl_1);
        jp_1.add(jl_2);
        jp_1.add(jl_3);
        jp_1.add(jtf_1);
        jp_1.add(jtf_2);
        jp_1.add(jtf_3);
        jp_1.add(jb);
        jf.add(jp_1);
        jf.add(jp_2);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jf.setVisible(true);
    }

    // 按钮
    public void button(){
        // jb按钮,监听事件
        jb.addActionListener( new ActionListener() {            
            public void actionPerformed(ActionEvent e){
                 r = Integer.parseInt(jtf_1.getText());
                 g = Integer.parseInt(jtf_2.getText());
                 b = Integer.parseInt(jtf_3.getText());
                 // 这里进行取余运算,是为了防止输入的数过于大,而产生运行上的错误;
                 r = r%256;
                 g = g%256;
                 g = g%256;
//                System.out.println("r = "+r +" ,g = "+g +" ,b = "+b);
                // 清空Text中的内容
                jtf_1.setText("");
                jtf_2.setText("");
                jtf_3.setText("");
                // 一定要在这里设置改变颜色才可以,不然没有反应
                jp_2.setBackground(new Color(r,g,b));
            }
        });

    }

    public static void main(String[] args) {
        new RgbJpanel();
    }
}

三、结果演示

加载全部内容

相关教程
猜你喜欢
用户评论