`
feng1990liu
  • 浏览: 8606 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

奇幻图像总结--Slider控制颜色,三基色

阅读更多

核心,传递参数---构造方法

        不同的监听器相互间传递参数

        用到的方法,SLider中的setValue,设置初始值,getValue得到Slider当前数值

       显现SLider用法与加监听器

 

 

package netjava;

import java.awt.FlowLayout;
import java.awt.Graphics;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JSlider;

public class Draw02 extends JFrame {
//	private JSlider sl;
	public static	void main(String[] args){
		Draw02 dr=new Draw02();
		dr.initUI();
	}
	//定义初始界面方法
	public void initUI(){
		JFrame jf=new JFrame();
		jf.setTitle("王板");
		JSlider sl01=new JSlider();
		sl01.setMaximum(255);
		sl01.setValue(0);
		JSlider sl02=new JSlider();
		sl02.setMaximum(255);
		sl02.setValue(0);
		JSlider sl03=new JSlider();
		sl03.setMaximum(255);
		sl03.setValue(100);
		jf.add(sl01);
		jf.add(sl02);
		jf.add(sl03);
		jf.setDefaultCloseOperation(3);
		jf.setLocation(100,100);
		jf.setSize(600,600);
		jf.setLayout(new FlowLayout());
		JButton bu=new JButton("技术");
		jf.add(bu);
		jf.setVisible(true);
		//在画板显示之后取得窗体的画布对象
		Graphics g=jf.getGraphics();
		//实例化处理累对象
		ButtonListener dl=new ButtonListener(sl01,sl02,sl03,g);
//		DrawListener dl=new DrawListener(g);
		//加监听器
	//	bu.addActionListener(dl);
//		Recur dl=new Recur(g);
		SliderListener sListener = new SliderListener(sl01,sl02,sl03,dl);
		sl01.addChangeListener(sListener);
		sl02.addChangeListener(sListener);
		sl03.addChangeListener(sListener);
		
		
		jf.addMouseListener(dl);
		
		
	}

}

package netjava;

import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class SliderListener implements ChangeListener {
	private JSlider sl01;
	private JSlider sl02;
	private JSlider sl03;
	private ButtonListener dl;
	private int value01;
	private int value02;
	private int value03;
	
	public SliderListener(JSlider sl01, JSlider sl02, JSlider sl03,ButtonListener dl) {
		this.sl01= sl01;
		this.sl02= sl02;
		this.sl03= sl03;
		this.dl = dl;
	}

	public void stateChanged(ChangeEvent e){
//		Draw02 draw=new Draw02(sl01);
//		int a=sl01.getValue();
//		int b=
		if(e.getSource()==this.sl01){
			
			 value01 =this.sl01.getValue(); 
			
			System.out.println("hahaa");
		}
		if(e.getSource()==this.sl02){
			 value02=this.sl02.getValue(); 
		}
		if(e.getSource()==this.sl03){
			 value03=this.sl03.getValue(); 
			 
		}
		dl.compute(value01, value02, value03);
		
	}

}
package netjava;

import java.awt.Color;
import java.awt.Graphics;
//import java.awt.event.ActionEvent;
//import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JSlider;

public class ButtonListener extends MouseAdapter /*implements ActionListener */{

	private Graphics g;
	double a=1,b=4,c=60;
	private JSlider sl01;
	private JSlider sl02;
	private JSlider sl03;
	 public void mouseClicked(MouseEvent e) {
		
		 compute(this.sl01.getValue(),this.sl02.getValue(),this.sl03.getValue());
		}
//	}
//	}
	 
	public ButtonListener(JSlider sl01, JSlider sl02, JSlider sl03,Graphics g){
		this.g=g;
		this.sl01= sl01;
		this.sl02= sl02;
		this.sl03= sl03;
		
	}
	public void compute(int value01,int value02,int value03){
		 double x=0.0;
		 double y = 0.0;
		for(int i=0;i<50000;i++){
//			int j=255;
//			while(j>0){
//			Color co=new Color(j,j,j);
//			g.setColor(co);
		
//			double x2=d*Math.sin(a*x)-Math.sin(b*y);
//			double y2=c*Math.cos(a*x)+Math.cos(b*y);
	
			double x2=y-Math.signum(x)*Math.sqrt(Math.abs(b*x-c));
			double y2=a-x;
			int x3=(int)(1*x2);
			int y3=(int)(1*y2);
			g.setColor(new Color(value01,value02,value03));
			g.drawLine(x3+600, y3+400, x3+600, y3+400);
			x=x2;
			y=y2;
	}
	
	}
}
	



 

  • 大小: 94.8 KB
  • 大小: 90.4 KB
  • 大小: 93.1 KB
分享到:
评论
6 楼 feng1990liu 2013-07-18  
陌陌天使 写道
我也觉得,这涉及三基色实在是少,给我们补充一点美术呗!

等着我ti添加图片啊
5 楼 feng1990liu 2013-07-18  
rzheny 写道
怎么感觉就像是在蒙小孩一样?

此话怎讲?看不懂吗?就是slider分别控制红绿蓝··
4 楼 陌陌天使 2013-07-18  
我也觉得,这涉及三基色实在是少,给我们补充一点美术呗!
3 楼 rzheny 2013-07-14  
怎么感觉就像是在蒙小孩一样?
2 楼 feng1990liu 2013-07-11  
怎么回复的??就是color方法中的RGB,红绿蓝可以看成颜色基色··
1 楼 陌陌天使 2013-07-10  
三基色????

相关推荐

    vue-concise-slider, vue-concise-slider,A simple vue sliding component.zip

    这个组件的主要目的是提供一个简单、易用且高度可定制的解决方案,用于创建各种滑动展示,如幻灯片、产品展示或者图像轮播。在本文中,我们将深入探讨Vue-Concise-Slider的核心特性、安装方法、基本使用以及如何根据...

    React-Native-FlatList-Slider:用FlatListReact本机图像滑块

    React-Native-FlatList-Slider React Native中的自定义图像滑块组件安装npm i react-native-flatlist-slider进口 import {FlatListSlider} from 'react-native-flatlist-slider';用法 来自URI的图片 const images = ...

    vue轮播图插件vue-concise-slider的使用

    三、 Vue-Concise-Slider 的特点 Vue-Concise-Slider 有多种滑动样式,包括: * 全屏自适应 * 移动端兼容 * 垂直滚动 * 定时自动切换 * 不定宽度滚动 * 无缝循环滚动 * 多级滚动 * 渐变滚动 * 旋转滚动 * page中...

    vue-concise-slider,一个简单的vue滑动组件.zip

    中文 | Englishvue-简洁-滑块 vue-concise-slider,一个简单的滑动组件,配置简单,支持自适应/全屏+按钮+分页,同时兼容移动端和PC端版本v3.3.6支持vue2.0+v4.0.0 beta版本特点简单配置轻量 (~35kB gzip 压缩后)...

    react-native-slider:React Native组件,用于从一系列值中选择一个值

    @react-native-community/slider React Native组件,用于从一系列值中选择一个值。 入门 yarn add @react-native-community/slider或npm install @react-native-community/slider --save 如果使用iOS,请安装...

    vue-circle-slider-vue2.x的“圆形”滑块组件。-Vue.js开发

    vue-circle-slider用于Vue.js的Circle滑块组件目录安装用法演示TODO意图安装npm install --save vue-cir vue-circle-slider用于Vue.js的Circle滑块组件目录安装用法演示TODO意图安装npm install --save vue-circle-...

    blueshoes-js-slider-4.5_public.zip_Bs_Slider.class._blueshoes-js

    在实际应用中,开发者可以从`blueshoes-js-slider-4.5_public`这个压缩包中获取所有必要的资源,包括JavaScript库文件、CSS样式表、示例HTML代码等。这些文件可以直接引入到项目中,根据需求进行调整和扩展。 总的...

    Android-Image-Slider,Android自动图像滑块.zip

    在`Android-Image-Slider-master`这个压缩包中,通常会包含以下内容: 1. `README.md`:项目的说明文件,通常包含项目介绍、安装指南、使用示例和贡献方法等信息。 2. `LICENSE`:项目的开源协议,规定了项目可以...

    vue-range-slider:Vue.js的简单滑块组件

    npm install --save vue-range-slider 纱 yarn add vue-range-slider 用法 基本用法 只需导入vue-range-slider组件并在您的组件中使用它即可。 这些道具与本机input[type="range"]元素兼容,因此您可以像本机元素...

    react-native-circular-slider, 响应本机组件创建圆形滑块.zip

    这种类型的用户界面元件常见于音量控制、进度调整或者设置参数等场景,因为它们提供了直观且易于操作的交互体验。它不仅美观,而且可以根据不同设备的屏幕尺寸和分辨率自适应,确保在各种平台上都能有良好的表现。 ...

    react-native-slider-intro:一个简单且可完全自定义的React Native组件,为您的应用实现了一个简介滑块

    :mobile_phone_with_arrow: react-native-slider-intro 一个简单且可完全自定义的React Native组件,为您的应用实现了简介滑块。 该软件包已作为PC控制器react-native应用程序的子模块编写。 安装 npm install ...

    react-range-slider:React范围滑块

    使用这个库时,开发者可以轻松地通过props传递配置项,定制滑块的颜色、样式、步长、最小值、最大值、默认值以及回调函数等,以满足项目的个性化需求。 例如,你可以设置`min`和`max`属性来定义滑块的可选范围,`...

    react-timeline-range-slider

    npm i react-timeline-range-slider 道具 Struts 类型 默认 描述 时间线间隔 大批 [startOfToday(),endOfToday()] 显示间隔 selectedInterval 大批 [new Date(),addHours(new Date(),1)] 时间轴内...

    JQuery-UI实现slider滑块带刻度

    而 `slider` 是其中一个组件,常用于创建滑动条,适用于调整各种参数,如音量、亮度、时间选择等。在本教程中,我们将深入探讨如何使用 jQuery UI 实现一个带有刻度的 slider,并了解相关配置选项。 首先,要使用 ...

    前端项目-bootstrap-slider.zip

    在【压缩包子文件的文件名称列表】中,"bootstrap-slider-master"表明这是该组件的主分支源代码。通常,这个目录下会包含以下内容: 1. `dist/`:发布文件夹,包含编译后的CSS、JavaScript文件以及必要的图片资源,...

    前端项目-tiny-slider.zip

    &lt;div class="slider-item"&gt;Slide 3 var tns = new TNS({ container: '.slider-container', autoplay: true, loop: true, dots: true }); ``` **总结** tiny-slider 是一个功能强大、轻量级的JavaScript...

    react-native-verify-slider:用于React Native的动画Verification Slider组件

    在项目中,你还可以查看`react-native-verify-slider-master`目录下的源代码,了解组件的工作原理,甚至对其进行扩展和定制,以满足更复杂的场景需求。总之,React Native Verify Slider是一个强大且易于使用的工具...

    jquery-full-time-slider.zip

    本文将深入探讨"jQuery-full-time-slider"这一插件,它是一款基于jQuery的全时轴滑块,为网页添加动态的时间线展示功能。 首先,"jQuery-full-time-slider"插件的命名已经揭示了其核心功能——提供一个可以展示全...

    rn-range-slider:具有范围的本机滑块

    npm: npm install --save rn-range-slider 纱线: yarn add rn-range-slider 用法 RangeSlider使用react钩子,因此该组件不适用于低于0.59.0的React Native版本 您可以找到所需组件(拇指,滑轨,RailSelected,...

Global site tag (gtag.js) - Google Analytics