textDescription.addVerifyListener(new VerifyListener() { @Override public void verifyText(VerifyEvent event) { if (event.doit == false) { // event already consumed return; } if (textDescription.getText().length() > DESC_LENGTH) { // show the field decorator dec.show(); event.doit = false; if (event.character == '\u0008' || event.character == '\u007F') { // allow delete and/or backspace to be processed event.doit = true; } } else { // hide the field decorator dec.hide(); } } });
textDescription.addPaintListener(new PaintListener() { public void paintControl(PaintEvent evt) { Point s = textDescription.getSize(); Color c = evt.gc.getForeground(); evt.gc.setForeground(textDescription.getDisplay().getSystemColor( SWT.COLOR_RED)); evt.gc.drawRectangle(0, 0, s.x - 5, s.y - 5); evt.gc.setForeground(c); } });