📄 tabletab.java
字号:
/** * Creates the "Style" group. */ void createStyleGroup () { super.createStyleGroup (); /* Create the extra widgets */ checkButton = new Button (styleGroup, SWT.CHECK); checkButton.setText ("SWT.CHECK"); fullSelectionButton = new Button (styleGroup, SWT.CHECK); fullSelectionButton.setText ("SWT.FULL_SELECTION"); hideSelectionButton = new Button (styleGroup, SWT.CHECK); hideSelectionButton.setText ("SWT.HIDE_SELECTION"); } /** * Gets the "Example" widget children's items, if any. * * @return an array containing the example widget children's items */ Item [] getExampleWidgetItems () { Item [] columns = table1.getColumns(); Item [] items = table1.getItems(); Item [] allItems = new Item [columns.length + items.length]; System.arraycopy(columns, 0, allItems, 0, columns.length); System.arraycopy(items, 0, allItems, columns.length, items.length); return allItems; } /** * Gets the "Example" widget children. */ Widget [] getExampleWidgets () { return new Widget [] {table1}; } /** * Returns a list of set/get API method names (without the set/get prefix) * that can be used to set/get values in the example control(s). */ String[] getMethodNames() { return new String[] {"ColumnOrder", "ItemCount", "Selection", "SelectionIndex", "ToolTipText", "TopIndex"}; } String setMethodName(String methodRoot) { /* Override to handle special case of int getSelectionIndex()/setSelection(int) */ return (methodRoot.equals("SelectionIndex")) ? "setSelection" : "set" + methodRoot; } void packColumns () { int columnCount = table1.getColumnCount(); for (int i = 0; i < columnCount; i++) { TableColumn tableColumn = table1.getColumn(i); tableColumn.pack(); } } Object[] parameterForType(String typeName, String value, Widget widget) { if (value.equals("")) return new Object[] {new TableItem[0]}; // bug in Table? if (typeName.equals("org.eclipse.swt.widgets.TableItem")) { TableItem item = findItem(value, ((Table) widget).getItems()); if (item != null) return new Object[] {item}; } if (typeName.equals("[Lorg.eclipse.swt.widgets.TableItem;")) { String[] values = split(value, ','); TableItem[] items = new TableItem[values.length]; for (int i = 0; i < values.length; i++) { items[i] = findItem(values[i], ((Table) widget).getItems()); } return new Object[] {items}; } return super.parameterForType(typeName, value, widget); } TableItem findItem(String value, TableItem[] items) { for (int i = 0; i < items.length; i++) { TableItem item = items[i]; if (item.getText().equals(value)) return item; } return null; } /** * Gets the text for the tab folder item. */ String getTabText () { return "Table"; } /** * Sets the foreground color, background color, and font * of the "Example" widgets to their default settings. * Also sets foreground and background color of TableItem [0] * to default settings. */ void resetColorsAndFonts () { super.resetColorsAndFonts (); Color oldColor = itemForegroundColor; itemForegroundColor = null; setItemForeground (); if (oldColor != null) oldColor.dispose(); oldColor = itemBackgroundColor; itemBackgroundColor = null; setItemBackground (); if (oldColor != null) oldColor.dispose(); Font oldFont = font; itemFont = null; setItemFont (); if (oldFont != null) oldFont.dispose(); oldColor = cellForegroundColor; cellForegroundColor = null; setCellForeground (); if (oldColor != null) oldColor.dispose(); oldColor = cellBackgroundColor; cellBackgroundColor = null; setCellBackground (); if (oldColor != null) oldColor.dispose(); oldFont = font; cellFont = null; setCellFont (); if (oldFont != null) oldFont.dispose(); } /** * Sets the background color of the Row 0 TableItem in column 1. */ void setCellBackground () { if (!instance.startup) { table1.getItem (0).setBackground (1, cellBackgroundColor); } /* Set the background color item's image to match the background color of the cell. */ Color color = cellBackgroundColor; if (color == null) color = table1.getItem (0).getBackground (1); TableItem item = colorAndFontTable.getItem(CELL_BACKGROUND_COLOR); Image oldImage = item.getImage(); if (oldImage != null) oldImage.dispose(); item.setImage (colorImage(color)); } /** * Sets the foreground color of the Row 0 TableItem in column 1. */ void setCellForeground () { if (!instance.startup) { table1.getItem (0).setForeground (1, cellForegroundColor); } /* Set the foreground color item's image to match the foreground color of the cell. */ Color color = cellForegroundColor; if (color == null) color = table1.getItem (0).getForeground (1); TableItem item = colorAndFontTable.getItem(CELL_FOREGROUND_COLOR); Image oldImage = item.getImage(); if (oldImage != null) oldImage.dispose(); item.setImage (colorImage(color)); } /** * Sets the font of the Row 0 TableItem in column 1. */ void setCellFont () { if (!instance.startup) { table1.getItem (0).setFont (1, cellFont); } /* Set the font item's image to match the font of the item. */ Font ft = cellFont; if (ft == null) ft = table1.getItem (0).getFont (1); TableItem item = colorAndFontTable.getItem(CELL_FONT); Image oldImage = item.getImage(); if (oldImage != null) oldImage.dispose(); item.setImage (fontImage(ft)); item.setFont(ft); colorAndFontTable.layout (); } /** * Sets the background color of TableItem [0]. */ void setItemBackground () { if (!instance.startup) { table1.getItem (0).setBackground (itemBackgroundColor); } /* Set the background color item's image to match the background color of the item. */ Color color = itemBackgroundColor; if (color == null) color = table1.getItem (0).getBackground (); TableItem item = colorAndFontTable.getItem(ITEM_BACKGROUND_COLOR); Image oldImage = item.getImage(); if (oldImage != null) oldImage.dispose(); item.setImage (colorImage(color)); } /** * Sets the foreground color of TableItem [0]. */ void setItemForeground () { if (!instance.startup) { table1.getItem (0).setForeground (itemForegroundColor); } /* Set the foreground color item's image to match the foreground color of the item. */ Color color = itemForegroundColor; if (color == null) color = table1.getItem (0).getForeground (); TableItem item = colorAndFontTable.getItem(ITEM_FOREGROUND_COLOR); Image oldImage = item.getImage(); if (oldImage != null) oldImage.dispose(); item.setImage (colorImage(color)); } /** * Sets the font of TableItem 0. */ void setItemFont () { if (!instance.startup) { table1.getItem (0).setFont (itemFont); } /* Set the font item's image to match the font of the item. */ Font ft = itemFont; if (ft == null) ft = table1.getItem (0).getFont (); TableItem item = colorAndFontTable.getItem(ITEM_FONT); Image oldImage = item.getImage(); if (oldImage != null) oldImage.dispose(); item.setImage (fontImage(ft)); item.setFont(ft); colorAndFontTable.layout (); } /** * Sets the moveable columns state of the "Example" widgets. */ void setColumnsMoveable () { boolean selection = moveableColumns.getSelection(); TableColumn[] columns = table1.getColumns(); for (int i = 0; i < columns.length; i++) { columns[i].setMoveable(selection); } } /** * Sets the resizable columns state of the "Example" widgets. */ void setColumnsResizable () { boolean selection = resizableColumns.getSelection(); TableColumn[] columns = table1.getColumns(); for (int i = 0; i < columns.length; i++) { columns[i].setResizable(selection); } } /** * Sets the state of the "Example" widgets. */ void setExampleWidgetState () { setItemBackground (); setItemForeground (); setItemFont (); setCellBackground (); setCellForeground (); setCellFont (); if (!instance.startup) { setColumnsMoveable (); setColumnsResizable (); setWidgetHeaderVisible (); setWidgetSortIndicator (); setWidgetLinesVisible (); } super.setExampleWidgetState (); checkButton.setSelection ((table1.getStyle () & SWT.CHECK) != 0); fullSelectionButton.setSelection ((table1.getStyle () & SWT.FULL_SELECTION) != 0); hideSelectionButton.setSelection ((table1.getStyle () & SWT.HIDE_SELECTION) != 0); try { TableColumn column = table1.getColumn(0); moveableColumns.setSelection (column.getMoveable()); resizableColumns.setSelection (column.getResizable()); } catch (IllegalArgumentException ex) {} headerVisibleButton.setSelection (table1.getHeaderVisible()); linesVisibleButton.setSelection (table1.getLinesVisible()); } /** * Sets the header visible state of the "Example" widgets. */ void setWidgetHeaderVisible () { table1.setHeaderVisible (headerVisibleButton.getSelection ()); } /** * Sets the sort indicator state of the "Example" widgets. */ void setWidgetSortIndicator () { if (sortIndicatorButton.getSelection ()) { /* Reset to known state: 'down' on column 0. */ table1.setSortDirection (SWT.DOWN); TableColumn [] columns = table1.getColumns(); for (int i = 0; i < columns.length; i++) { TableColumn column = columns[i]; if (i == 0) table1.setSortColumn(column); SelectionListener listener = new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { int sortDirection = SWT.DOWN; if (e.widget == table1.getSortColumn()) { /* If the sort column hasn't changed, cycle down -> up -> none. */ switch (table1.getSortDirection ()) { case SWT.DOWN: sortDirection = SWT.UP; break; case SWT.UP: sortDirection = SWT.NONE; break; } } else { table1.setSortColumn((TableColumn)e.widget); } table1.setSortDirection (sortDirection); } }; column.addSelectionListener(listener); column.setData("SortListener", listener); //$NON-NLS-1$ } } else { table1.setSortDirection (SWT.NONE); TableColumn [] columns = table1.getColumns(); for (int i = 0; i < columns.length; i++) { SelectionListener listener = (SelectionListener)columns[i].getData("SortListener"); //$NON-NLS-1$ if (listener != null) columns[i].removeSelectionListener(listener); } } } /** * Sets the lines visible state of the "Example" widgets. */ void setWidgetLinesVisible () { table1.setLinesVisible (linesVisibleButton.getSelection ()); } protected void specialPopupMenuItems(Menu menu, Event event) { MenuItem item = new MenuItem(menu, SWT.PUSH); item.setText("getItem(Point) on mouse coordinates"); menuMouseCoords = table1.toControl(new Point(event.x, event.y)); item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { eventConsole.append ("getItem(Point(" + menuMouseCoords + ")) returned: " + table1.getItem(menuMouseCoords)); eventConsole.append ("\n"); }; }); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -