zoukankan      html  css  js  c++  java
  • JTable

    final Table table = new Table(parent, SWT.NONE | SWT.FULL_SELECTION);
      final GridData gd = new GridData(SWT.LEFT, SWT.TOP, false, true);
      gd.heightHint = 100;
      table.setLayoutData(gd);
      table.setHeaderVisible(true);
      table.setLinesVisible(true);
      final TableColumn tcCondition = new TableColumn(table, SWT.None);
      final TableColumn tcUserValue = new TableColumn(table, SWT.None);
      final TableColumn tcUserColor = new TableColumn(table, SWT.None);
      tcCondition.setText("条件");
      tcCondition.setWidth(80);
      tcUserValue.setText("枚举值");
      tcUserValue.setWidth(80);
      tcUserColor.setText("颜色");
      tcUserColor.setWidth(80);
      table.addListener(SWT.MouseDoubleClick, new Listener() {
       int editColumnIndex = -1;
       @Override
       public void handleEvent(final Event e) {
        final Point point = new Point(e.x, e.y);
        final TableItem tableItem = table.getItem(point);
        if (tableItem == null) {
         return;
        }
        for (int i = 0; i < 3; i++) {
         final Rectangle r = tableItem.getBounds(i);
         if (r.contains(point)) {
          editColumnIndex = i;
          final TableEditor editor = new TableEditor(table);
          final Control oldEditor = editor.getEditor();
          if (oldEditor != null) {
           oldEditor.dispose();
          }
          final Text text = new Text(table, SWT.NONE);
          text.computeSize(SWT.DEFAULT, table.getItemHeight());
          editor.grabHorizontal = true;
          editor.minimumHeight = text.getSize().y;
          editor.minimumWidth = text.getSize().x;
          editor.setEditor(text, tableItem, editColumnIndex);
          text.setText(tableItem.getText(editColumnIndex));
          text.forceFocus();
          text.addModifyListener(new ModifyListener() {
           @Override
           public void modifyText(final ModifyEvent e) {
            editor.getItem().setText(editColumnIndex, text.getText());
           }
          });
          text.addFocusListener(new FocusListener() {
           @Override
           public void focusGained(final FocusEvent e) {
            // TODO Auto-generated method stub
           }
           @Override
           public void focusLost(final FocusEvent e) {
            text.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));
            text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));
           }
          });
         }
        }
       }
      });
    

      

  • 相关阅读:
    MFC对话框编程详细学习笔记
    VS2013 MFC基于对话框编程
    Java学到什么程度可以找到第一份工作
    搞定操作系统面试,看这篇就够了
    搞定计算机网络面试,看这篇就够了
    一千行 MySQL 学习笔记
    后端工程师技术面试复习大纲
    爬虫功能
    昨天的一卦,真的太形象,可惜我就是不敢断
    基于maven+ssm的增删改查之批量删除
  • 原文地址:https://www.cnblogs.com/nicebaby/p/6273047.html
Copyright © 2011-2022 走看看