ScaleExample.java Source code

Java tutorial

Introduction

Here is the source code for ScaleExample.java

Source

/******************************************************************************
 * All Right Reserved. 
 * Copyright (c) 1998, 2004 Jackwind Li Guojie
 * 
 * Created on 2004-3-29 13:10:11 by JACK
 * $Id$
 * 
 *****************************************************************************/

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();
        //textUser.forceFocus();

        // Set up the event loop.
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) {
                // If no more entries in event queue
                display.sleep();
            }
        }

        display.dispose();
    }

    private void init() {

    }

    public static void main(String[] args) {
        new ScaleExample();
    }
}