绘图界面,使用JSlider : 滑块 « 图形用户界面 « Java

En
Java
1. 图形用户界面
2. 三维图形动画
3. 高级图形
4. 蚂蚁编译
5. Apache类库
6. 统计图
7. 
8. 集合数据结构
9. 数据类型
10. 数据库JDBC
11. 设计模式
12. 开发相关类
13. EJB3
14. 电子邮件
15. 事件
16. 文件输入输出
17. 游戏
18. 泛型
19. GWT
20. Hibernate
21. 本地化
22. J2EE平台
23. 基于J2ME
24. JDK-6
25. JNDI的LDAP
26. JPA
27. JSP技术
28. JSTL
29. 语言基础知识
30. 网络协议
31. PDF格式RTF格式
32. 映射
33. 常规表达式
34. 脚本
35. 安全
36. Servlets
37. Spring
38. Swing组件
39. 图形用户界面
40. SWT-JFace-Eclipse
41. 线程
42. 应用程序
43. Velocity
44. Web服务SOA
45. 可扩展标记语言
Java 教程
Java » 图形用户界面 » 滑块屏幕截图 
绘图界面,使用JSlider
绘图界面,使用JSlider
 
// : c14:SineWave.java
// Drawing with Swing, using a JSlider.
// <applet code=SineWave width=700 height=400></applet>
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;

import javax.swing.JApplet;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

class SineDraw extends JPanel {
  private static final int SCALEFACTOR = 200;

  private int cycles;

  private int points;

  private double[] sines;

  private int[] pts;

  public SineDraw() {
    setCycles(5);
  }

  public void setCycles(int newCycles) {
    cycles = newCycles;
    points = SCALEFACTOR * cycles * 2;
    sines = new double[points];
    for (int i = 0; i < points; i++) {
      double radians = (Math.PI / SCALEFACTOR* i;
      sines[i= Math.sin(radians);
    }
    repaint();
  }

  public void paintComponent(Graphics g) {
    super.paintComponent(g);
    int maxWidth = getWidth();
    double hstep = (doublemaxWidth / (doublepoints;
    int maxHeight = getHeight();
    pts = new int[points];
    for (int i = 0; i < points; i++)
      pts[i(int) (sines[i* maxHeight / .95 + maxHeight / 2);
    g.setColor(Color.RED);
    for (int i = 1; i < points; i++) {
      int x1 = (int) ((i - 1* hstep);
      int x2 = (int) (i * hstep);
      int y1 = pts[i - 1];
      int y2 = pts[i];
      g.drawLine(x1, y1, x2, y2);
    }
  }
}

public class SineWave extends JApplet {
  private SineDraw sines = new SineDraw();

  private JSlider adjustCycles = new JSlider(1305);

  public void init() {
    Container cp = getContentPane();
    cp.add(sines);
    adjustCycles.addChangeListener(new ChangeListener() {
      public void stateChanged(ChangeEvent e) {
        sines.setCycles(((JSlidere.getSource()).getValue());
      }
    });
    cp.add(BorderLayout.SOUTH, adjustCycles);
  }

  public static void main(String[] args) {
    run(new SineWave()700400);
  }

  public static void run(JApplet applet, int width, int height) {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(applet);
    frame.setSize(width, height);
    applet.init();
    applet.start();
    frame.setVisible(true);
  }
///:~



           
         
  
Related examples in the same category
1. 创建一个JSlider组件
2. 创建一个水平滑块与最大,和最小值
3. 创建一个垂直滑块
4. 创建一个垂直滑块,最大,和最小值
5. 从右到左使横向滑块移动
6. 使纵向移动,自下而上的
7. 使纵向移动,自上而下
8. 获取值
9. 使用和设置值JSlider组件
10. 使用进度条和滑块使用进度条和滑块
11. JSlider的标记
12. JSlider的默认标签JSlider的默认标签
13. 标签每5单位
14. 标签每25个单位
15. 滑块演示滑块演示
16. JSlider示例2JSlider示例2
17. 滑块ChangeListener滑块ChangeListener
18. 滑块控件的逆转滑块控件的逆转
19. 滑块变化事件监听滑块变化事件监听
20. 日期滑块控件日期滑块控件
21. 滑块试验滑块试验
22. 滑块标签滑块标签
23. 滚动滑块滚动滑块
24. 文字滑块文字滑块
25. 设置最小值
26. 设置最大值
27. 设置范围
28. 移动滑块一个固定数额:程度。
29. 设置所有值,使用模型
30. Set the value; the new value will be forced into the bar's range
31. JSlider组件数值改变事件监听
32. JSlider滚动整数值
33. 是否JSlider滚动整数值
34. 对齐标签
35. Set to a spot between tick marks; the value moves to closest tick mark
36. 判断目前绘画标签
37. 显示标签的JSlider组件
38. 查看标签
39. The slider allows you to use an arbitrary label at any particular major tick mark.
40. 显示标签文字JSlider组件
41. 隐藏轨道
42. 滑块演示滑块演示
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.