Java圖像處理之RGB調(diào)色面板
本文實例為大家分享了Java圖像處理之RGB調(diào)色面板的具體代碼,供大家參考,具體內(nèi)容如下
一、概述
因為我們知道顏色是由R、G、B、三種顏色所組成的,那么我們只需要更改這三個的數(shù)值。我們就可以實現(xiàn)一個簡單的調(diào)色面板;以下是代碼演示:
二、代碼
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調(diào)色面板");
? ? // 一個用于設(shè)置RGB調(diào)色,一個用于顯示背景顏色
? ? 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);
? ? ? ? // 設(shè)置固定位置
? ? ? ? jf.setBounds(200,200,500,600);
? ? ? ? jp_1.setBounds(0,0,200,600);
? ? ? ? // 設(shè)置字體位置
? ? ? ? jl_1.setBounds(50,30,50,30);
? ? ? ? jl_2.setBounds(50,180,50,30);
? ? ? ? jl_3.setBounds(50,330,50,30);
? ? ? ? // 設(shè)置字體大小
? ? ? ? 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按鈕,監(jiān)聽事件
?? ??? ?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());
? ? ? ? ? ? ? ? ?// 這里進(jìn)行取余運(yùn)算,是為了防止輸入的數(shù)過于大,而產(chǎn)生運(yùn)行上的錯誤;
? ? ? ? ? ? ? ? ?r = r%256;
? ? ? ? ? ? ? ? ?g = g%256;
? ? ? ? ? ? ? ? ?g = g%256;
// ? ? ? ? ? ? ? ?System.out.println("r = "+r +" ,g = "+g +" ,b = "+b);
? ? ? ? ? ? ? ? // 清空Text中的內(nèi)容
? ? ? ? ? ? ? ? jtf_1.setText("");
? ? ? ? ? ? ? ? jtf_2.setText("");
? ? ? ? ? ? ? ? jtf_3.setText("");
? ? ? ? ? ? ? ? // 一定要在這里設(shè)置改變顏色才可以,不然沒有反應(yīng)
? ? ? ? ? ? ? ? jp_2.setBackground(new Color(r,g,b));
?? ??? ??? ?}
?? ??? ?});
? ? }
? ? public static void main(String[] args) {
? ? ? ? new RgbJpanel();
? ? }
}三、結(jié)果演示


以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java Swing中的表格(JTable)和樹(JTree)組件使用實例
這篇文章主要介紹了Java Swing中的表格(JTable)和樹(JTree)組件使用實例,本文同時講解了表格和樹的基本概念、常用方法、代碼實例,需要的朋友可以參考下2014-10-10
MyBatis 參數(shù)類型為String時常見問題及解決方法
這篇文章主要介紹了MyBatis 參數(shù)類型為String時常見問題及解決方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03
servlet之cookie簡介_動力節(jié)點Java學(xué)院整理
Cookie技術(shù)誕生以來,它就成了廣大網(wǎng)絡(luò)用戶和Web開發(fā)人員爭論的一個焦點。下面這篇文章主要給大家介紹了關(guān)于servlet之cookie簡介的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07
Spring MVC+FastJson+Swagger集成的完整實例教程
這篇文章主要給大家分享介紹了關(guān)于Spring MVC+FastJson+Swagger集成的完整實例教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04
將RestTemplate的編碼格式改為UTF-8,防止亂碼問題
這篇文章主要介紹了將RestTemplate的編碼格式改為UTF-8,防止亂碼問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
Spring?boot?security權(quán)限管理集成cas單點登錄功能的實現(xiàn)
這篇文章主要介紹了Spring?boot?security權(quán)限管理集成cas單點登錄,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03

