SWT(JFace)体验之Slider,Scale

 更新时间:2009年06月25日 11:47:49   作者:  
SWT(JFace)体验之Slider,Scale实现代码。
Slider:
复制代码 代码如下:

package swt_jface.demo8;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Slider;
import org.eclipse.swt.widgets.Text;
public class SampleSlider {

Display display = new Display();
Shell shell = new Shell(display);
Slider slider;
Text value;

public SampleSlider() {

shell.setLayout(new GridLayout(1, true));

Label label = new Label(shell, SWT.NULL);
label.setText("Volume:");

slider = new Slider(shell, SWT.VERTICAL);
slider.setBounds(0, 0, 40, 200);
slider.setMaximum(24);
slider.setMinimum(0);
slider.setIncrement(1);
slider.setPageIncrement(5);
slider.setThumb(4);
slider.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
int perspectiveValue = slider.getMaximum() - slider.getSelection() + slider.getMinimum() - slider.getThumb();
value.setText("Vol: " + perspectiveValue);
}
});

value = new Text(shell, SWT.BORDER | SWT.SINGLE);
value.setEditable(false);
slider.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
value.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
public static void main(String[] args) {
new SampleSlider();
}
}

Scale:
复制代码 代码如下:

package swt_jface.demo8;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Scale;
import org.eclipse.swt.widgets.Shell;
public class Scales {

Display display = new Display();
Shell shell = new Shell(display);
public Scales() {

Scale scaleH = new Scale(shell, SWT.NULL);
Scale scaleV = new Scale(shell, SWT.VERTICAL);

scaleH.setBounds(0, 0, 100, 50);
scaleV.setBounds(0, 50, 50, 100);

System.out.println("Min: " + scaleH.getMinimum());
System.out.println("Max: " + scaleH.getMaximum());
shell.pack();
shell.open();

while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
public static void main(String[] args) {
new Scales();
}
}
package swt_jface.demo8;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Scale;
import org.eclipse.swt.widgets.Shell;
public class Scales {

Display display = new Display();
Shell shell = new Shell(display);
public Scales() {

Scale scaleH = new Scale(shell, SWT.NULL);
Scale scaleV = new Scale(shell, SWT.VERTICAL);

scaleH.setBounds(0, 0, 100, 50);
scaleV.setBounds(0, 50, 50, 100);

System.out.println("Min: " + scaleH.getMinimum());
System.out.println("Max: " + scaleH.getMaximum());
shell.pack();
shell.open();

while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
public static void main(String[] args) {
new Scales();
}
}

再看一个演示:

复制代码 代码如下:

package swt_jface.demo8;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Scale;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class ScaleExample {

Display display = new Display();
Shell shell = new Shell(display);
Scale scale;
Text value;

public ScaleExample() {

shell.setLayout(new GridLayout(1, true));

Label label = new Label(shell, SWT.NULL);
label.setText("Volume:");

scale = new Scale(shell, SWT.VERTICAL);
scale.setBounds(0, 0, 40, 200);
scale.setMaximum(20);
scale.setMinimum(0);
scale.setIncrement(1);
scale.setPageIncrement(5);
scale.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
int perspectiveValue = scale.getMaximum() - scale.getSelection() + scale.getMinimum();
value.setText("Vol: " + perspectiveValue);
}
});

value = new Text(shell, SWT.BORDER | SWT.SINGLE);
value.setEditable(false);
scale.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
value.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
shell.pack();
shell.open();

while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
public static void main(String[] args) {
new ScaleExample();
}
}

相关文章

  • Spring Cloud Feign简单使用详解

    Spring Cloud Feign简单使用详解

    本篇文章主要介绍了Spring Cloud Feign简单使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Spring自定义配置Schema可扩展(二)

    Spring自定义配置Schema可扩展(二)

    这篇文章主要介绍了Spring自定义配置Schema可扩展(二)的相关资料,需要的朋友可以参考下
    2016-01-01
  • Java的函数式接口@FunctionalInterface的使用说明

    Java的函数式接口@FunctionalInterface的使用说明

    这篇文章主要介绍了Java的函数式接口@FunctionalInterface的使用说明,我们常用的一些接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解,需要的朋友可以参考下
    2024-01-01
  • Java 中如何创建按钮单击事件

    Java 中如何创建按钮单击事件

    我们使用事件侦听器在Java中创建按钮单击事件,本文给大家讲解Java中的按钮单击事件,结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • SWT(JFace)体验之GridLayout布局

    SWT(JFace)体验之GridLayout布局

    GridLayout 布局的功能非常强大,也是笔者常用的一种布局方式。GridLayout是网格式布局,它把父组件分成一个表格,默认情况下每个子组件占据一个单元格的空间,每个子组件按添加到父组件的顺序排列在表格中。
    2009-06-06
  • java阿拉伯数字转中文数字

    java阿拉伯数字转中文数字

    这篇文章主要为大家详细介绍了java实现阿拉伯数字转换为中文数字,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Java拦截器Interceptor实现原理及代码示例

    Java拦截器Interceptor实现原理及代码示例

    本文详细讲解了Java拦截器Interceptor实现原理及代码示例,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • java利用反射实现动态代理示例

    java利用反射实现动态代理示例

    这篇文章主要介绍了java利用反射实现动态代理示例,需要的朋友可以参考下
    2014-04-04
  • Java利用ElasticSearch实现自动补全功能

    Java利用ElasticSearch实现自动补全功能

    这篇文章主要为大家详细介绍了Java如何利用ElasticSearch实现跟谷歌和百度类似的下拉补全提示功能,文中的示例代码讲解详细,需要的可以参考一下
    2023-08-08
  • 详解用Spring Boot零配置快速创建web项目

    详解用Spring Boot零配置快速创建web项目

    本篇文章主要介绍了详解用Spring Boot零配置快速创建web项目,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03

最新评论