List of usage examples for org.eclipse.swt.widgets Display getSystemColor
@Override public Color getSystemColor(int id)
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(); }