📄 gradientcolorctabfolder.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 + -