openplanning

Hướng dẫn và ví dụ Java SWT Slider

  1. SWT Slider
  2. Ví dụ SWT Slider

1. SWT Slider

Slider (Thanh trượt) là một thành phần giao diện cho phép bạn lựa chọn một giá trị số nằm trong một khoảng giá trị. Slider bao gồm một thanh (track) và một cần gạt có thể kéo (draggable thumb).
Block increment: Là giá trị tăng hoặc giảm khi bạn nhấn nút mũi tên sang trái hoặc sang phải để di chuyển cần gạt (thumb).
final Slider slider = new Slider(shell, SWT.HORIZONTAL);

slider.setMinimum(100);
slider.setMinimum(20);
slider.setSelection(30);
slider.setIncrement(10);

2. Ví dụ SWT Slider

Slider xem trên Windows 8:
Slider xem trên Windows XP:
SliderDemo.java
package org.o7planning.swt.slider;

import org.eclipse.swt.SWT;
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;

public class SliderDemo {
    public static void main(String[] args) {
        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setText("SWT Slider (o7planning.org)");
        shell.setSize(400, 200);
        shell.setLayout(null);

        final Slider slider = new Slider(shell, SWT.HORIZONTAL);
        slider.setMinimum(100);
        slider.setMinimum(20);
        slider.setSelection(30);
        slider.setIncrement(10); 
        slider.setBounds(20, 30, 286, 15);
        final Label text = new Label(shell, SWT.NONE);
        text.setBounds(20, 100, 286, 15);

        slider.addListener(SWT.Selection, new Listener() {
            @Override
            public void handleEvent(Event event) {
                String logText = "Event: SWT.NONE";
                switch (event.detail) {
                case SWT.ARROW_DOWN:
                    logText = "Event: SWT.ARROW_DOWN";
                    break;
                case SWT.ARROW_UP:
                    logText = "Event: SWT.ARROW_UP";
                    break;
                case SWT.DRAG:
                    logText = "Event: SWT.DRAG";
                    break;
                case SWT.END:
                    logText = "Event: SWT.END";
                    break;
                case SWT.HOME:
                    logText = "Event: SWT.HOME";
                    break;
                case SWT.PAGE_DOWN:
                    logText = "Event: SWT.PAGE_DOWN";
                    break;
                case SWT.PAGE_UP:
                    logText = "Event: SWT.PAGE_UP";
                    break;
                }
                logText += " Position: " + slider.getSelection();
                text.setText(logText);
            }
        });
        shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch())
                display.sleep();
        }
        display.dispose();
    }
}