Como colorir a borda do componente Text
Veja nesta dica como incrementar a interface de alguns componentes SWT.
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() {<SPAN lang=EN-US >2. </SPAN><SPAN lang=EN-US >GridData g=</SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >GridData();</SPAN><SPAN lang=EN-US >3. </SPAN><SPAN lang=EN-US >g.grabExcessHorizontalSpace=</SPAN><B><SPAN lang=EN-US >true</SPAN></B><SPAN lang=EN-US >;</SPAN><SPAN lang=EN-US >4. </SPAN><SPAN lang=EN-US >g.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;</SPAN><SPAN lang=EN-US >5. </SPAN><SPAN lang=EN-US >Label label=</SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Label(this,SWT.NONE);</SPAN><SPAN lang=EN-US >6. </SPAN><SPAN lang=EN-US >label.setText(</SPAN><SPAN lang=EN-US >"Bordered Text"</SPAN><SPAN lang=EN-US >);</SPAN><SPAN lang=EN-US >7. </SPAN><SPAN lang=EN-US >text = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Text(this, SWT.NONE);</SPAN><SPAN lang=EN-US >8. </SPAN><SPAN lang=EN-US >text.setBounds(</SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >org.eclipse.swt.graphics.Rectangle(</SPAN><SPAN lang=EN-US >92</SPAN><SPAN lang=EN-US >,</SPAN><SPAN lang=EN-US >40</SPAN><SPAN lang=EN-US >,</SPAN><SPAN lang=EN-US >84</SPAN><SPAN lang=EN-US >,</SPAN><SPAN lang=EN-US >28</SPAN><SPAN lang=EN-US >));</SPAN><SPAN lang=EN-US >9. </SPAN><SPAN lang=EN-US >text.setLayoutData(g);</SPAN><SPAN lang=EN-US >10. </SPAN><SPAN lang=EN-US >addPaintListener(</SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >PaintListener() {</SPAN><SPAN lang=EN-US >11. </SPAN><B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >paintControl(PaintEvent e) {</SPAN><SPAN lang=EN-US >12. </SPAN><SPAN lang=EN-US >GC gc=e.gc;</SPAN><SPAN lang=EN-US >13. </SPAN><SPAN lang=EN-US >Color red=</SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Color(null,</SPAN><SPAN lang=EN-US >255</SPAN><SPAN lang=EN-US >,</SPAN><SPAN lang=EN-US >0</SPAN><SPAN lang=EN-US >,</SPAN><SPAN lang=EN-US >0</SPAN><SPAN lang=EN-US >);</SPAN><SPAN lang=EN-US >14. </SPAN><SPAN lang=EN-US >gc.setBackground(red);</SPAN><SPAN lang=EN-US >15. </SPAN><SPAN lang=EN-US >Rectangle rect=text.getBounds();</SPAN><SPAN lang=EN-US >16. </SPAN><SPAN lang=EN-US >Rectangle rect1 = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Rectangle(rText.x-</SPAN><SPAN lang=EN-US >1</SPAN><SPAN lang=EN-US >, rText.y-</SPAN><SPAN lang=EN-US >1</SPAN><SPAN lang=EN-US >, </SPAN><SPAN lang=EN-US >17. </SPAN><SPAN lang=EN-US >rText.width+</SPAN><SPAN lang=EN-US >2</SPAN><SPAN lang=EN-US >, rText.height+</SPAN><SPAN lang=EN-US >2</SPAN><SPAN lang=EN-US >);</SPAN><SPAN lang=EN-US >18.</SPAN><SPAN lang=EN-US >19. </SPAN><SPAN lang=EN-US >gc.fillRectangle(rect1);</SPAN><SPAN lang=EN-US >20. </SPAN><SPAN lang=EN-US >addControlListener(</SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >ControlAdapter() {</SPAN><SPAN lang=EN-US >21. </SPAN><B><SPAN >public void </SPAN></B><SPAN >controlResized(ControlEvent e) {</SPAN><SPAN >22. </SPAN><B><SPAN >super</SPAN></B><SPAN >.controlResized(e); </SPAN><SPAN >21. </SPAN><SPAN >}</SPAN><SPAN >23. </SPAN><SPAN >});</SPAN><SPAN >24. </SPAN><SPAN >}</SPAN><SPAN >25 </SPAN><SPAN >});</SPAN><SPAN >26.</SPAN><SPAN >}</SPAN>
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo