Java SWT – Toolbar

Toolbar hiển thị chức năng dưới dạng icon cho user dễ dàng lựa chọn. Trong ví dụ này, mình sẽ hướng dẫn các bạn tạo 1 toolbar đơn giản.

Image trong ví dụ, download tại đây
SimpleToolBarEx.java

package vncoding;

import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Device;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;


public class SimpleToolBarEx {

    private Image newi;
    private Image opei;
    private Image quii;

    public SimpleToolBarEx(Display display) {
        initUI(display);
    }

    @SuppressWarnings("unused")
    public void initUI(Display display) {
        Shell shell = new Shell(display, SWT.SHELL_TRIM | SWT.CENTER);
        Device dev = shell.getDisplay();

        try {
            newi = new Image(dev, "new.png");
            opei = new Image(dev, "open.png");
            quii = new Image(dev, "quit.png");
        } catch (Exception e) {
            
            System.out.println("Cannot load images");
            System.out.println(e.getMessage());
            System.exit(1);
        }

        ToolBar toolBar = new ToolBar(shell, SWT.BORDER);

        ToolItem item1 = new ToolItem(toolBar, SWT.PUSH);
        item1.setImage(newi);

        ToolItem item2 = new ToolItem(toolBar, SWT.PUSH);
        item2.setImage(opei);

        ToolItem separator = new ToolItem(toolBar, SWT.SEPARATOR);

        ToolItem item3 = new ToolItem(toolBar, SWT.PUSH);
        item3.setImage(quii);

        toolBar.pack();

        item3.addListener(SWT.Selection, event -> {
            shell.getDisplay().dispose();
            System.exit(0);
        });
        
        shell.setText("Simple toolbar");
        shell.setSize(300, 250);
        shell.open();

        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) {
                display.sleep();
            }
        }
    }
    
    @Override
    public void finalize() {

        newi.dispose();
        opei.dispose();
        quii.dispose();
    }

    public static void main(String[] args) {
        
        Display display = new Display();
        SimpleToolBarEx ex = new SimpleToolBarEx(display);
        ex.finalize();
        display.dispose();
    }
}

Giải thích:
Toolbar được tạo với 3 item

ToolBar toolBar = new ToolBar(shell, SWT.BORDER);

Toolbar được tạo với hằng số SWT.BORDER

newi = new Image(dev, "new.png");
opei = new Image(dev, "open.png");
quii = new Image(dev, "quit.png");

Load ảnh vào các đối tượng newi, opei, quii

ToolItem item1 = new ToolItem(toolBar, SWT.PUSH);
item1.setImage(newi);

ToolItem item2 = new ToolItem(toolBar, SWT.PUSH);
item2.setImage(opei);

Tạo item với image tương ứng với các đối tượng.

 

ToolItem separator = new ToolItem(toolBar, SWT.SEPARATOR);

Tạo 1 đường kẻ phân chia giữa item2 và item3

 

item3.addListener(SWT.Selection, event -> {
       shell.getDisplay().dispose();
       System.exit(0);
        });

Thoát chương trình khi user click vào icon exit nằm vị trí cuối cùng trên thanh toolbar (từ trái sang phải)

Kết quả:

Java SWT - Toolbar
Java SWT – Toolbar

Be the first to comment

Leave a Reply