2016-02-19 61 views
0

我正在嘗試設置StyledText窗口小部件的BorderColor。 StyleRange Object允許我設置字段borderColor和borderStyle。使用StyleRange設置StyledText BorderColor

我的代碼如下所示:

StyledText test = new StyledText(parent, SWT.BORDER); 

Display display = Display.getCurrent(); 

Color color = display.getSystemColor(SWT.COLOR_RED); 

StyleRange style = new StyleRange(); 
style.borderColor = color; 
style.borderStyle = SWT.BORDER_SOLID; 

test.setStyleRange(style); 

但這代碼並沒有設置邊框的顏色。我知道有一種解決方法是使用畫筆偵聽器,但爲什麼上面的示例不起作用?

回答

0

您尚未指定樣式範圍的起始位置和長度,所以它實際上沒有設定樣式。

只是要清楚StyleRange圍繞StyledText中的某些文字設置邊框,它不會設置控件的邊框。

作爲一個例子,這裏是一個StyledText幾個StyleRanges指定邊界: Style Ranges

+0

感謝澄清!我認爲StyleRange也可以用於整個控件。然後我堅持按照[這裏]描述的Paint Listener方法(http://stackoverflow.com/questions/11522774/draw-outline-border-on-text-component)。 –