核心,传递参数---构造方法
不同的监听器相互间传递参数
用到的方法,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, vue-concise-slider,A simple vue sliding component
React-Native-FlatList-Slider React Native中的自定义图像滑块组件安装npm i react-native-flatlist-slider进口 import {FlatListSlider} from 'react-native-flatlist-slider';用法 来自URI的图片 const images = ...
vue-circle-slider用于Vue.js的Circle滑块组件目录安装用法演示TODO意图安装npm install --save vue-cir vue-circle-slider用于Vue.js的Circle滑块组件目录安装用法演示TODO意图安装npm install --save vue-circle-...
react-native-circular-slider, 响应本机组件创建圆形滑块 react-native-circular-slider
@react-native-community/slider React Native组件,用于从一系列值中选择一个值。 入门 yarn add @react-native-community/slider或npm install @react-native-community/slider --save 如果使用iOS,请安装...
前端项目-bootstrap-slider,用于Twitter引导的滑动视图组件。
npm install --save vue-range-slider 纱 yarn add vue-range-slider 用法 基本用法 只需导入vue-range-slider组件并在您的组件中使用它即可。 这些道具与本机input[type="range"]元素兼容,因此您可以像本机元素...
前端项目-tiny-slider,所有用途的普通javascript滑块,灵感来自于猫头鹰旋转木马。
,CodeSandbox:用法 安装yarn add react-compare-slider# ORnpm install react-compare-slider 基本图像用法您可以使用ReactCompareSliderImage渲染图像或使用您自己的自定义组件。 import { ReactCompareSlider , ...
前端项目-ng-slider,AngularJS指令滑块控制。
前端项目-angularjs-slider,没有外部依赖项的AngularJS滑块指令。移动友好!.
用于比较图像的滑块组件(之前和之后)。 用法示例: : 浏览器支持 IE浏览器/边缘 火狐浏览器 Chrome合金 苹果浏览器 iOS Safari 三星 IE11 () ,Edge 最近2个版本 最近2个版本 最近2个版本 最近2个版本...
coda-slider【Coda-Slider 1.1 jQuery左右轮番的动画选项卡】.rarcoda-slider【Coda-Slider 1.1 jQuery左右轮番的动画选项卡】.rar
npm i react-timeline-range-slider 道具 Struts 类型 默认 描述 时间线间隔 大批 [startOfToday(),endOfToday()] 显示间隔 selectedInterval 大批 [new Date(),addHours(new Date(),1)] 时间轴内...
npm: npm install --save rn-range-slider 纱线: yarn add rn-range-slider 用法 RangeSlider使用react钩子,因此该组件不适用于低于0.59.0的React Native版本 您可以找到所需组件(拇指,滑轨,RailSelected,...
Laravel开发-laravel-slider-pro Slider Pro的Laravel小部件
@miblanchard/react-native-slider 用于 react-native 和 react-native-web 的<Slider>组件的纯 JavaScript 版本。 这可以直接替换来自 react-native/@react-native-community 的 Slider 组件。 非常欢迎想法和贡献...
jquery-full-time-slider.zip
jquery-up-down-slider.zip
jquery-animated-image-slider.zip