Java Tutorial/SWT/CTabItem

Материал из Java эксперт
Перейти к: навигация, поиск

Adding CTabItems

Because no styles apply, pass SWT.NONE for the style. Optionally, you can pass an index to specify the zero-based order of the tab. The constructors are as follows:



   <source lang="java">

public CTabItem(CTabFolder parent, int style) public CTabItem(CTabFolder parent, int style, int index)</source>





Cannot close CTabItem

   <source lang="java">

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.layout.FillLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class CTabItemCannotClose {

 public static void main(String[] args) {
   Display display = new Display();
   Shell shell = new Shell(display);
   shell.setLayout(new FillLayout());
   CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
   for (int i = 0; i < 4; i++) {
     CTabItem item = new CTabItem(folder, SWT.CLOSE);
     item.setText("Item " + i);
     Text text = new Text(folder, SWT.MULTI);
     text.setText("Content for Item " + i);
     item.setControl(text);
   }
   
   final CTabItem specialItem = new CTabItem(folder, SWT.CLOSE);
   specialItem.setText("Don"t Close Me");
   Text text = new Text(folder, SWT.MULTI);
   text.setText("This tab can never be closed");
   specialItem.setControl(text);
     
   folder.addCTabFolder2Listener(new CTabFolder2Adapter() {
     public void close(CTabFolderEvent event) {
       System.out.println("want to close");
       if (event.item.equals(specialItem)) {
         event.doit = false;
       }
     }
   });
   
   
   shell.pack();
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch())
       display.sleep();
   }
   display.dispose();
 }

}</source>





No Close Button CTabItem

   <source lang="java">

import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class CTabItemCloseButton {

 public static void main(String[] args) {
   Display display = new Display();
   Shell shell = new Shell(display);
   shell.setLayout(new FillLayout());
   CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
   for (int i = 0; i < 4; i++) {
     CTabItem item = new CTabItem(folder, SWT.CLOSE);
     item.setText("Item " + i);
     Text text = new Text(folder, SWT.MULTI);
     text.setText("Content for Item " + i);
     item.setControl(text);
   }
   final CTabItem noCloseItem = new CTabItem(folder, SWT.NONE);
   noCloseItem.setText("No Close Button");
   Text text2 = new Text(folder, SWT.MULTI);
   text2.setText("This tab does not have a close button");
   noCloseItem.setControl(text2);
   
   
   shell.pack();
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch())
       display.sleep();
   }
   display.dispose();
 }

}</source>