⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gradientcolorctabfolder.java

📁 自己建立的项目
💻 JAVA
字号:
package com.swtSample.widgets;

/*
 * Create a CTabFolder with min and max buttons, as well as close button and 
 * image only on selected tab.
 *
 * For a list of all SWT example snippets see
 * http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/dev.html#snippets
 */
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabFolder2Adapter;
import org.eclipse.swt.custom.CTabFolderEvent;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class GradientColorCTabFolder {

	public static void main(String[] args) {

		Display display = new Display();

		final Shell shell = new Shell(display);
		shell.setLayout(new GridLayout());
		shell.setImage(new Image(display, "together.ico"));
		shell.setText("My First Shell");
		shell.setToolTipText("Shell ToolTip text");
		shell.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
		
//		 Create the focus listener
	    MouseListener listener = new MouseListener() {
	    	
	      public void mouseDown(MouseEvent event) {
//	    	 Display the message box
	          MessageBox mb = new MessageBox(shell, 1);
	          mb.setText("Message from SWT");
	          mb.setMessage("mouseDown!");
	      }

	      public void mouseUp(MouseEvent event) {
	    	  MessageBox mb = new MessageBox(shell, 1);
	          mb.setText("Message from SWT");
	          mb.setMessage("mouseUp!");
	      }
	      public void mouseDoubleClick(MouseEvent event) {
	    	  MessageBox mb = new MessageBox(shell, 1);
	          mb.setText("Message from SWT");
	          mb.setMessage("mouseDoubleClick!");
	      }
	    };
	    
	    shell.addMouseListener(listener);
	    
	    

		// create the menu system
		final Menu m = new Menu(shell, SWT.BAR);
		final MenuItem file = new MenuItem(m, SWT.CASCADE);
		final Menu filemenu = new Menu(shell, SWT.DROP_DOWN);
		final MenuItem openMenuItem = new MenuItem(filemenu, SWT.PUSH);
		final MenuItem saveMenuItem = new MenuItem(filemenu, SWT.PUSH);
		final MenuItem separator = new MenuItem(filemenu, SWT.SEPARATOR);
		final MenuItem exitMenuItem = new MenuItem(filemenu, SWT.PUSH);
		final MenuItem edit = new MenuItem(m, SWT.CASCADE);
		final Menu editmenu = new Menu(shell, SWT.DROP_DOWN);
		final MenuItem cutMenuItem = new MenuItem(editmenu, SWT.PUSH);
		final MenuItem copyMenuItem = new MenuItem(editmenu, SWT.PUSH);
		final MenuItem pasteMenuItem = new MenuItem(editmenu, SWT.PUSH);
		final MenuItem help = new MenuItem(m, SWT.CASCADE);
		final Menu helpmenu = new Menu(shell, SWT.DROP_DOWN);
		final MenuItem aboutMenuItem = new MenuItem(helpmenu, SWT.PUSH);

		// Configure the menu items
		file.setText("&File");
		file.setMenu(filemenu);
		openMenuItem.setText("&Open\tCTRL+O");
		openMenuItem.setAccelerator(SWT.CTRL + 'O');
		saveMenuItem.setText("&Save\tCTRL+S");
		saveMenuItem.setAccelerator(SWT.CTRL + 'S');
		exitMenuItem.setText("E&xit");
		edit.setText("&Edit");
		edit.setMenu(editmenu);
		cutMenuItem.setText("&Cut");
		copyMenuItem.setText("Co&py");
		pasteMenuItem.setText("&Paste");
		help.setText("&Help");
		help.setMenu(helpmenu);
		aboutMenuItem.setText("&About");

		shell.setMenuBar(m);

		final CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
		folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
		folder.setSimple(false);
		folder.setUnselectedImageVisible(true);
		folder.setUnselectedCloseVisible(false);
		folder.setMinimizeVisible(true);
		folder.setMaximizeVisible(true);

		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);
		gc.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
		gc.fillRectangle(3, 3, 10, 10);
		gc.dispose();

		for (int i = 0; i < 8; i++) {
			CTabItem item = new CTabItem(folder, SWT.CLOSE);
			item.setText("Item " + i);
			item.setFont(new Font(display, "Tahoma", 8, 0));
			// item.setImage(image);
			item.setImage(new Image(display, "together.ico"));// 使用图片的示例

			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);
			text.setBackground(new Color(display,215,242,253));
		}

		/*
		 * b:223,103,8 e:225,221,101 b:51,136,72 e:133,206,46 深绿 b:10,36,106
		 * e:166,202,240 深蓝(与eclipse平台相同) b:80,154,239 e:215,242,253 淡蓝
		 * b:175,4,171 e:255,180,255 紫色b:249,91,18 e:255,255,229 橙红b:255,206,59
		 * e:255,255,0 金黄
		 */

		Color beginColor = new Color(display, 255,206,59);
		Color endColor = new Color(display,255,255,0);

		folder.setBackground(display.getSystemColor(SWT.COLOR_GRAY));
		folder.setSelectionBackground(new Color[] { beginColor, endColor,
				endColor }, new int[] { 100, 100 }, true);
		folder.setSelectionForeground(display
				.getSystemColor(SWT.COLOR_DARK_BLUE));

		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(500, 400);
		shell.open();

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -