核心,传递参数---构造方法
不同的监听器相互间传递参数
用到的方法,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; } } }
相关推荐
这个组件的主要目的是提供一个简单、易用且高度可定制的解决方案,用于创建各种滑动展示,如幻灯片、产品展示或者图像轮播。在本文中,我们将深入探讨Vue-Concise-Slider的核心特性、安装方法、基本使用以及如何根据...
React-Native-FlatList-Slider React Native中的自定义图像滑块组件安装npm i react-native-flatlist-slider进口 import {FlatListSlider} from 'react-native-flatlist-slider';用法 来自URI的图片 const images = ...
三、 Vue-Concise-Slider 的特点 Vue-Concise-Slider 有多种滑动样式,包括: * 全屏自适应 * 移动端兼容 * 垂直滚动 * 定时自动切换 * 不定宽度滚动 * 无缝循环滚动 * 多级滚动 * 渐变滚动 * 旋转滚动 * page中...
@react-native-community/slider React Native组件,用于从一系列值中选择一个值。 入门 yarn add @react-native-community/slider或npm install @react-native-community/slider --save 如果使用iOS,请安装...
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`这个压缩包中获取所有必要的资源,包括JavaScript库文件、CSS样式表、示例HTML代码等。这些文件可以直接引入到项目中,根据需求进行调整和扩展。 总的...
在`Android-Image-Slider-master`这个压缩包中,通常会包含以下内容: 1. `README.md`:项目的说明文件,通常包含项目介绍、安装指南、使用示例和贡献方法等信息。 2. `LICENSE`:项目的开源协议,规定了项目可以...
npm install --save vue-range-slider 纱 yarn add vue-range-slider 用法 基本用法 只需导入vue-range-slider组件并在您的组件中使用它即可。 这些道具与本机input[type="range"]元素兼容,因此您可以像本机元素...
这种类型的用户界面元件常见于音量控制、进度调整或者设置参数等场景,因为它们提供了直观且易于操作的交互体验。它不仅美观,而且可以根据不同设备的屏幕尺寸和分辨率自适应,确保在各种平台上都能有良好的表现。 ...
:mobile_phone_with_arrow: react-native-slider-intro 一个简单且可完全自定义的React Native组件,为您的应用实现了简介滑块。 该软件包已作为PC控制器react-native应用程序的子模块编写。 安装 npm install ...
使用这个库时,开发者可以轻松地通过props传递配置项,定制滑块的颜色、样式、步长、最小值、最大值、默认值以及回调函数等,以满足项目的个性化需求。 例如,你可以设置`min`和`max`属性来定义滑块的可选范围,`...
npm i react-timeline-range-slider 道具 Struts 类型 默认 描述 时间线间隔 大批 [startOfToday(),endOfToday()] 显示间隔 selectedInterval 大批 [new Date(),addHours(new Date(),1)] 时间轴内...
在【压缩包子文件的文件名称列表】中,"bootstrap-slider-master"表明这是该组件的主分支源代码。通常,这个目录下会包含以下内容: 1. `dist/`:发布文件夹,包含编译后的CSS、JavaScript文件以及必要的图片资源,...
而 `slider` 是其中一个组件,常用于创建滑动条,适用于调整各种参数,如音量、亮度、时间选择等。在本教程中,我们将深入探讨如何使用 jQuery UI 实现一个带有刻度的 slider,并了解相关配置选项。 首先,要使用 ...
<div class="slider-item">Slide 3 var tns = new TNS({ container: '.slider-container', autoplay: true, loop: true, dots: true }); ``` **总结** tiny-slider 是一个功能强大、轻量级的JavaScript...
在项目中,你还可以查看`react-native-verify-slider-master`目录下的源代码,了解组件的工作原理,甚至对其进行扩展和定制,以满足更复杂的场景需求。总之,React Native Verify Slider是一个强大且易于使用的工具...
本文将深入探讨"jQuery-full-time-slider"这一插件,它是一款基于jQuery的全时轴滑块,为网页添加动态的时间线展示功能。 首先,"jQuery-full-time-slider"插件的命名已经揭示了其核心功能——提供一个可以展示全...
npm: npm install --save rn-range-slider 纱线: yarn add rn-range-slider 用法 RangeSlider使用react钩子,因此该组件不适用于低于0.59.0的React Native版本 您可以找到所需组件(拇指,滑轨,RailSelected,...
用于比较图像的滑块组件(之前和之后)。 用法示例: : 浏览器支持 IE浏览器/边缘 火狐浏览器 Chrome合金 苹果浏览器 iOS Safari 三星 IE11 () ,Edge 最近2个版本 最近2个版本 最近2个版本 最近2个版本...