Example usage for org.eclipse.swt.widgets Display getSystemColor

List of usage examples for org.eclipse.swt.widgets Display getSystemColor

Introduction

In this page you can find the example usage for org.eclipse.swt.widgets Display getSystemColor.

Prototype

@Override
    public Color getSystemColor(int id) 

Source Link

Usage

From source file:org.eclipse.swt.snippets.Snippet111.java

public static void main(String[] args) {
    final Display display = new Display();
    final Color black = display.getSystemColor(SWT.COLOR_BLACK);
    Shell shell = new Shell(display);
    shell.setText("Snippet 111");
    shell.setLayout(new FillLayout());
    final Tree tree = new Tree(shell, SWT.BORDER);
    for (int i = 0; i < 16; i++) {
        TreeItem itemI = new TreeItem(tree, SWT.NONE);
        itemI.setText("Item " + i);
        for (int j = 0; j < 16; j++) {
            TreeItem itemJ = new TreeItem(itemI, SWT.NONE);
            itemJ.setText("Item " + j);
        }// w  w  w  . j av a  2s .co  m
    }
    final TreeItem[] lastItem = new TreeItem[1];
    final TreeEditor editor = new TreeEditor(tree);
    tree.addListener(SWT.Selection, event -> {
        final TreeItem item = (TreeItem) event.item;
        if (item != null && item == lastItem[0]) {
            boolean showBorder = true;
            final Composite composite = new Composite(tree, SWT.NONE);
            if (showBorder)
                composite.setBackground(black);
            final Text text = new Text(composite, SWT.NONE);
            final int inset = showBorder ? 1 : 0;
            composite.addListener(SWT.Resize, e1 -> {
                Rectangle rect1 = composite.getClientArea();
                text.setBounds(rect1.x + inset, rect1.y + inset, rect1.width - inset * 2,
                        rect1.height - inset * 2);
            });
            Listener textListener = e2 -> {
                switch (e2.type) {
                case SWT.FocusOut:
                    item.setText(text.getText());
                    composite.dispose();
                    break;
                case SWT.Verify:
                    String newText = text.getText();
                    String leftText = newText.substring(0, e2.start);
                    String rightText = newText.substring(e2.end, newText.length());
                    GC gc = new GC(text);
                    Point size = gc.textExtent(leftText + e2.text + rightText);
                    gc.dispose();
                    size = text.computeSize(size.x, SWT.DEFAULT);
                    editor.horizontalAlignment = SWT.LEFT;
                    Rectangle itemRect = item.getBounds(), rect2 = tree.getClientArea();
                    editor.minimumWidth = Math.max(size.x, itemRect.width) + inset * 2;
                    int left = itemRect.x, right = rect2.x + rect2.width;
                    editor.minimumWidth = Math.min(editor.minimumWidth, right - left);
                    editor.minimumHeight = size.y + inset * 2;
                    editor.layout();
                    break;
                case SWT.Traverse:
                    switch (e2.detail) {
                    case SWT.TRAVERSE_RETURN:
                        item.setText(text.getText());
                        //FALL THROUGH
                    case SWT.TRAVERSE_ESCAPE:
                        composite.dispose();
                        e2.doit = false;
                    }
                    break;
                }
            };
            text.addListener(SWT.FocusOut, textListener);
            text.addListener(SWT.Traverse, textListener);
            text.addListener(SWT.Verify, textListener);
            editor.setEditor(composite, item);
            text.setText(item.getText());
            text.selectAll();
            text.setFocus();
        }
        lastItem[0] = item;
    });
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet275.java

public static void main(String[] args) {
    final int INTERVAL = 888;
    final Display display = new Display();
    final Image image = new Image(display, 750, 750);
    GC gc = new GC(image);
    gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
    gc.fillRectangle(image.getBounds());
    gc.dispose();//ww  w .j av a  2  s. c o m

    Shell shell = new Shell(display);
    shell.setText("Snippet 275");
    shell.setBounds(10, 10, 790, 790);
    final Canvas canvas = new Canvas(shell, SWT.NONE);
    canvas.setBounds(10, 10, 750, 750);
    canvas.addListener(SWT.Paint, event -> {
        value = String.valueOf(System.currentTimeMillis());
        event.gc.drawImage(image, 0, 0);
        event.gc.drawString(value, 10, 10, true);
    });
    display.timerExec(INTERVAL, new Runnable() {
        @Override
        public void run() {
            if (canvas.isDisposed())
                return;
            // canvas.redraw (); // <-- bad, damages more than is needed
            GC gc = new GC(canvas);
            Point extent = gc.stringExtent(value + '0');
            gc.dispose();
            canvas.redraw(10, 10, extent.x, extent.y, false);
            display.timerExec(INTERVAL, this);
        }
    });
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    image.dispose();
    display.dispose();
}

From source file:Snippet165.java

public static void main(String[] args) {
    Display display = new Display();
    Image image = new Image(display, 16, 16);
    GC gc = new GC(image);
    gc.setBackground(display.getSystemColor(SWT.COLOR_BLUE));
    gc.fillRectangle(0, 0, 16, 16);/*from ww w .  j  a v  a  2 s  . c  om*/
    gc.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
    gc.fillRectangle(3, 3, 10, 10);
    gc.dispose();
    final Shell shell = new Shell(display);
    shell.setLayout(new GridLayout());
    final CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
    folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    folder.setSimple(false);
    folder.setUnselectedImageVisible(false);
    folder.setUnselectedCloseVisible(false);
    for (int i = 0; i < 8; i++) {
        CTabItem item = new CTabItem(folder, SWT.CLOSE);
        item.setText("Item " + i);
        item.setImage(image);
        Text text = new Text(folder, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
        text.setText("Text for item " + i + "\n\none, two, three\n\nabcdefghijklmnop");
        item.setControl(text);
    }
    folder.setMinimizeVisible(true);
    folder.setMaximizeVisible(true);
    folder.addCTabFolder2Listener(new CTabFolder2Adapter() {
        public void minimize(CTabFolderEvent event) {
            folder.setMinimized(true);
            shell.layout(true);
        }

        public void maximize(CTabFolderEvent event) {
            folder.setMaximized(true);
            folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
            shell.layout(true);
        }

        public void restore(CTabFolderEvent event) {
            folder.setMinimized(false);
            folder.setMaximized(false);
            folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
            shell.layout(true);
        }
    });
    shell.setSize(300, 300);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    image.dispose();
    display.dispose();
}

From source file:RingShell.java

public static void main(String[] args) {
    final Display display = new Display();
    final Shell shell = new Shell(display, SWT.NO_TRIM | SWT.ON_TOP);
    shell.setBackground(display.getSystemColor(SWT.COLOR_DARK_MAGENTA));

    Region region = new Region();
    region.add(createCircle(100, 100, 100));
    region.subtract(createCircle(50, 100, 100));
    shell.setRegion(region);//from  w  w w.  ja  v  a2  s  .c  om

    // Make the shell movable by using the mouse pointer. 
    shell.addMouseListener(new MouseListener() {
        public void mouseDoubleClick(MouseEvent e) {
            shell.dispose(); // Double click to dispose the shell.
        }

        public void mouseDown(MouseEvent e) {
            originalPosition = new Point(e.x, e.y);
        }

        public void mouseUp(MouseEvent e) {
            originalPosition = null;
        }
    });

    shell.addMouseMoveListener(new MouseMoveListener() {
        public void mouseMove(MouseEvent e) {
            if (originalPosition == null)
                return;
            Point point = display.map(shell, null, e.x, e.y);
            shell.setLocation(point.x - originalPosition.x, point.y - originalPosition.y);
            System.out.println("Moved from: " + originalPosition + " to " + point);
        }
    });

    Rectangle regionBounds = region.getBounds();
    shell.setSize(regionBounds.width, regionBounds.height);
    shell.open();

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

}

From source file:org.eclipse.swt.snippets.Snippet43.java

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 43");
    Caret caret = new Caret(shell, SWT.NONE);
    Color white = display.getSystemColor(SWT.COLOR_WHITE);
    Color black = display.getSystemColor(SWT.COLOR_BLACK);
    final Image image = new Image(display, 20, 20);
    GC gc = new GC(image);
    gc.setBackground(black);//  ww  w .j a v a2 s .co  m
    gc.fillRectangle(0, 0, 20, 20);
    gc.setForeground(white);
    gc.drawLine(0, 0, 19, 19);
    gc.drawLine(19, 0, 0, 19);
    gc.dispose();
    caret.setLocation(10, 10);
    caret.setImage(image);
    caret.setVisible(true);
    shell.addListener(SWT.Paint, event -> {
        GC gc1 = event.gc;
        gc1.drawImage(image, 10, 64);
        gc1.drawString("Test", 12, 12);
    });
    shell.open();

    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    image.dispose();
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet200.java

public static void main(String[] args) {
    Display display = new Display();
    //define a pattern on an image
    final Image image = new Image(display, 1000, 1000);
    Color blue = display.getSystemColor(SWT.COLOR_BLUE);
    Color yellow = display.getSystemColor(SWT.COLOR_YELLOW);
    Color white = display.getSystemColor(SWT.COLOR_WHITE);
    GC gc = new GC(image);
    gc.setBackground(white);/*from w w  w  .j a  v  a  2  s  .c om*/
    gc.setForeground(yellow);
    gc.fillGradientRectangle(0, 0, 1000, 1000, true);
    for (int i = -500; i < 1000; i += 10) {
        gc.setForeground(blue);
        gc.drawLine(i, 0, 500 + i, 1000);
        gc.drawLine(500 + i, 0, i, 1000);
    }
    gc.dispose();
    final Pattern pattern;
    try {
        pattern = new Pattern(display, image);
    } catch (SWTException e) {
        //Advanced Graphics not supported.
        //This new API requires the Cairo Vector engine on GTK and GDI+ on Windows.
        System.out.println(e.getMessage());
        display.dispose();
        return;
    }

    Shell shell = new Shell(display);
    shell.setText("Snippet 200");
    shell.setLayout(new FillLayout());
    Composite c = new Composite(shell, SWT.DOUBLE_BUFFERED);
    c.addListener(SWT.Paint, event -> {
        Rectangle r = ((Composite) event.widget).getClientArea();
        GC gc1 = event.gc;
        gc1.setBackgroundPattern(pattern);
        gc1.fillOval(5, 5, r.width - 10, r.height - 10);
    });
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    image.dispose();
    pattern.dispose();
    display.dispose();
}

From source file:TreeCellEditor.java

public static void main(String[] args) {
    final Display display = new Display();
    final Color black = display.getSystemColor(SWT.COLOR_BLACK);
    Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    final Tree tree = new Tree(shell, SWT.BORDER);
    for (int i = 0; i < 16; i++) {
        TreeItem itemI = new TreeItem(tree, SWT.NONE);
        itemI.setText("Item " + i);
        for (int j = 0; j < 16; j++) {
            TreeItem itemJ = new TreeItem(itemI, SWT.NONE);
            itemJ.setText("Item " + j);
        }//from w  ww.java 2s  .  com
    }
    final TreeItem[] lastItem = new TreeItem[1];
    final TreeEditor editor = new TreeEditor(tree);
    tree.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            final TreeItem item = (TreeItem) event.item;
            if (item != null && item == lastItem[0]) {
                boolean isCarbon = SWT.getPlatform().equals("carbon");
                final Composite composite = new Composite(tree, SWT.NONE);
                if (!isCarbon)
                    composite.setBackground(black);
                final Text text = new Text(composite, SWT.NONE);
                final int inset = isCarbon ? 0 : 1;
                composite.addListener(SWT.Resize, new Listener() {
                    public void handleEvent(Event e) {
                        Rectangle rect = composite.getClientArea();
                        text.setBounds(rect.x + inset, rect.y + inset, rect.width - inset * 2,
                                rect.height - inset * 2);
                    }
                });
                Listener textListener = new Listener() {
                    public void handleEvent(final Event e) {
                        switch (e.type) {
                        case SWT.FocusOut:
                            item.setText(text.getText());
                            composite.dispose();
                            break;
                        case SWT.Verify:
                            String newText = text.getText();
                            String leftText = newText.substring(0, e.start);
                            String rightText = newText.substring(e.end, newText.length());
                            GC gc = new GC(text);
                            Point size = gc.textExtent(leftText + e.text + rightText);
                            gc.dispose();
                            size = text.computeSize(size.x, SWT.DEFAULT);
                            editor.horizontalAlignment = SWT.LEFT;
                            Rectangle itemRect = item.getBounds(), rect = tree.getClientArea();
                            editor.minimumWidth = Math.max(size.x, itemRect.width) + inset * 2;
                            int left = itemRect.x, right = rect.x + rect.width;
                            editor.minimumWidth = Math.min(editor.minimumWidth, right - left);
                            editor.minimumHeight = size.y + inset * 2;
                            editor.layout();
                            break;
                        case SWT.Traverse:
                            switch (e.detail) {
                            case SWT.TRAVERSE_RETURN:
                                item.setText(text.getText());
                                // FALL THROUGH
                            case SWT.TRAVERSE_ESCAPE:
                                composite.dispose();
                                e.doit = false;
                            }
                            break;
                        }
                    }
                };
                text.addListener(SWT.FocusOut, textListener);
                text.addListener(SWT.Traverse, textListener);
                text.addListener(SWT.Verify, textListener);
                editor.setEditor(composite, item);
                text.setText(item.getText());
                text.selectAll();
                text.setFocus();
            }
            lastItem[0] = item;
        }
    });
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:PNGFileWriteImage.java

public static void main(String[] args) {
    Display display = new Display();
    Font font = new Font(display, "Comic Sans MS", 24, SWT.BOLD);
    Image image = new Image(display, 87, 48);
    GC gc = new GC(image);
    gc.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
    gc.fillRectangle(image.getBounds());
    gc.setFont(font);//from w  ww  .ja  v  a2s  . c o m
    gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
    gc.drawString("S", 3, 0);
    gc.setForeground(display.getSystemColor(SWT.COLOR_GREEN));
    gc.drawString("W", 25, 0);
    gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE));
    gc.drawString("T", 62, 0);
    gc.dispose();

    ImageLoader loader = new ImageLoader();
    loader.data = new ImageData[] { image.getImageData() };
    loader.save("swt.png", SWT.IMAGE_PNG);

    image.dispose();
    font.dispose();
    display.dispose();
}

From source file:PathTextFrom.java

public static void main(String[] args) {
    Display display = new Display();
    FontData data = display.getSystemFont().getFontData()[0];

    Font font = new Font(display, data.getName(), 96, SWT.BOLD | SWT.ITALIC);
    final Color green = display.getSystemColor(SWT.COLOR_GREEN);
    final Color blue = display.getSystemColor(SWT.COLOR_BLUE);
    final Path path = new Path(display);

    path.addString("SWT", 0, 0, font);

    Shell shell = new Shell(display);
    shell.addListener(SWT.Paint, new Listener() {
        public void handleEvent(Event e) {
            GC gc = e.gc;/*from w  w w  .jav a  2s  .  co m*/
            gc.setBackground(green);
            gc.setForeground(blue);
            gc.fillPath(path);
            gc.drawPath(path);
        }
    });
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    path.dispose();
    font.dispose();
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet165.java

public static void main(String[] args) {
    Display display = new Display();
    Image image = new Image(display, 16, 16);
    GC gc = new GC(image);
    gc.setBackground(display.getSystemColor(SWT.COLOR_BLUE));
    gc.fillRectangle(0, 0, 16, 16);//from   www . j a  va  2  s  .com
    gc.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
    gc.fillRectangle(3, 3, 10, 10);
    gc.dispose();
    final Shell shell = new Shell(display);
    shell.setText("Snippet 165");
    shell.setLayout(new GridLayout());
    final CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
    folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    folder.setSimple(false);
    folder.setUnselectedImageVisible(false);
    folder.setUnselectedCloseVisible(false);
    for (int i = 0; i < 8; i++) {
        CTabItem item = new CTabItem(folder, SWT.CLOSE);
        item.setText("Item " + i);
        item.setImage(image);
        Text text = new Text(folder, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
        text.setText("Text for item " + i + "\n\none, two, three\n\nabcdefghijklmnop");
        item.setControl(text);
    }
    folder.setMinimizeVisible(true);
    folder.setMaximizeVisible(true);
    folder.addCTabFolder2Listener(new CTabFolder2Adapter() {
        @Override
        public void minimize(CTabFolderEvent event) {
            folder.setMinimized(true);
            folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
            shell.layout(true);
        }

        @Override
        public void maximize(CTabFolderEvent event) {
            folder.setMaximized(true);
            folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
            shell.layout(true);
        }

        @Override
        public void restore(CTabFolderEvent event) {
            folder.setMinimized(false);
            folder.setMaximized(false);
            folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
            shell.layout(true);
        }
    });
    shell.setSize(300, 300);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    image.dispose();
    display.dispose();
}