Programmazione:Java/Eclipse RCP/SWT Table: Tooltip per cella

Da WikiSitech.
Vai alla navigazioneVai alla ricerca

<< Back to Eclipse RCP

Per poter pilotare i tooltip anzichè per tabella per cella intera JFace mette a disposizione uno dei suoi innumerevoli provider (org.eclipse.jface.viewers.CellLabelProvider), la cui estensione è molto semplice...

public class MenuCellLabelProvider extends CellLabelProvider {

  @Override
  public void update(ViewerCell cell) {
     cell.setText(cell.getElement().toString());
  }
  @Override
  public Point getToolTipShift(Object object) {
     return new Point(5, 5);
  }
  @Override
  public int getToolTipDisplayDelayTime(Object object) {
     return 500;
  }
  @Override
  public int getToolTipTimeDisplayed(Object object) {
     return 1000;
  }
  @Override
  public String getToolTipText(Object element) {
     return "Tooltipo ('" + element + "')";
  }

}

...e il suo utilizzo ancora di più...

MenuCellLabelProvider provider = new MenuCellLabelProvider(); FormToolkit ft = new FormToolkit(parent.getDisplay());

Table t = ft.createTable(parent, SWT.FULL_SELECTION | SWT.SINGLE); t.setHeaderVisible(true); t.setLinesVisible(true);

TableViewer viewer = new TableViewer(t); viewer.setContentProvider(this); ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE);

TableViewerColumn column1 = new TableViewerColumn(viewer, SWT.NONE); column1.setLabelProvider(provider); column1.getColumn().setText("Column 1"); column1.getColumn().setWidth(100);

viewer.setInput("");