Como colorir a borda do componente Text
O SWT Widgets não fornece nenhuma funcionalidade para adicionar cor em torno de componentes como Text. Mas isto pode ser feito usando um truque simples. Este é um exemplo simples aplicado ao componente mais utilizado pelos desenvolvedores.
Para adicionar a borda colorida em torno do Text um retângulo pode ser desenhado em torno do Text usando PaintListener().
Código de implementação:
1. private void initialize() {2. GridData g=new GridData();
3. g.grabExcessHorizontalSpace=true;
4. g.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
5. Label label=new Label(this,SWT.NONE);
6. label.setText("Bordered Text");
7. text = new Text(this, SWT.NONE);
8. text.setBounds(new org.eclipse.swt.graphics.Rectangle(92,40,84,28));
9. text.setLayoutData(g);
10. addPaintListener(new PaintListener() {
11. public void paintControl(PaintEvent e) {
12. GC gc=e.gc;
13. Color red=new Color(null,255,0,0);
14. gc.setBackground(red);
15. Rectangle rect=text.getBounds();
16. Rectangle rect1 = new Rectangle(rText.x-1, rText.y-1,
17. rText.width+2, rText.height+2);
18.
19. gc.fillRectangle(rect1);
20. addControlListener(new ControlAdapter() {
21. public void controlResized(ControlEvent e) {
22. super.controlResized(e); 21. }
23. });
24. }
25 });
26.}