SWT(JFace)体验之Slider,Scale

所属分类: 软件编程 / Java编程 阅读数: 70
收藏 0 赞 0 分享
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();
}
}
更多精彩内容其他人还在看

SWT(JFace) FTP客户端实现

SWT(JFace)小制作:FTP客户端实现
收藏 0 赞 0 分享

java多线程应用实现方法

以前没有写笔记的习惯,现在慢慢的发现及时总结是多么的重要了,呵呵。虽然才大二,但是也快要毕业了,要加油
收藏 0 赞 0 分享

java反射应用详细介绍

本篇文章依旧采用小例子来说明java反射应用,因为我始终觉的,案例驱动是最好的,需要的朋友可以参考下
收藏 0 赞 0 分享

java 逐行读取txt文本如何解决中文乱码

在使用java读取txt文本中如含有中文,可能会出现乱码,很多初学者束手无策,本文将提供详细的解决方法
收藏 0 赞 0 分享

Java中Runnable和Thread的区别分析

在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口,下面就拉分别介绍一下这两种方法的优缺点
收藏 0 赞 0 分享

深入jetty的使用详解

本篇文章是对jetty的使用进行了详细的分析解释。需要的朋友参考下
收藏 0 赞 0 分享

探讨:如何在NDK中呼叫Java的class

本篇文章是对如何在NDK中呼叫Java的class进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

Java equals 方法与hashcode 方法的深入解析

面试时经常会问起字符串比较相关的问题,比如:字符串比较时用的什么方法,内部实现如何?hashcode的作用,以及重写equal方法,为什么要重写hashcode方法?以下就为大家解答,需要的朋友可以参考下
收藏 0 赞 0 分享

Java使用默认浏览器打开指定URL的方法(二种方法)

Java使用默认浏览器打开指定URL。
收藏 0 赞 0 分享

常用数据库的驱动程序及JDBC URL分享

这篇文章主要介绍了常用数据库的驱动程序及 JDBC URL,需要的朋友可以看下
收藏 0 赞 0 分享
查看更多