我正在尝试在 StyledText 小部件中绘制一个框来包围我的文本。我正在使用以下代码并且失败了。我知道这是可以做到的,因为我发现我尝试过并工作过的样本。我错过了什么?
public void print(Display display) {
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
shell.setSize(500, 500);
StyledText st=new StyledText(shell,SWT.BORDER);
shell.open();
//line one
String one=String.format("Character Name: %-25s Player Name: ___________________________\n",WordUtils.capitalize(name));
st.setText(one);
Point topLeft=st.getLocationAtOffset(0);
GC gc=new GC(st.getShell());
gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
gc.drawRectangle(topLeft.x - 1, topLeft.y, 20, 15);
gc.dispose();
}