在SWT文本小部件中获取单个Chars的x,y坐标

时间:2009-10-05 06:30:42

标签: java swt gdi

如果我在SWT上写一个文字用特定的字体/样式说“这个文本”,我想要't''h''我的's'的个别坐标等等。有没有办法获得相同的?

2 个答案:

答案 0 :(得分:0)

Text text = new Text(parent, SWT.NONE);
text.setText("This");

GC gc = new GC(text);
int currentPixelsX = text.getBounds().x;
int currentPixelsY = text.getBounds().y;
for (int i = 0; i < text.getText().length(); i++) {
    System.out.println("X co-ordinate of " + text.getText().charAt(i) + ":" + currentPixelsX);
    System.out.println("Y co-ordinate of " + text.getText().charAt(i) + ":" + currentPixelsY);

    currentPixelsX = currentPixelsX + gc.getCharWidth(text.getText().charAt(i));
}

这给出了相对于文本框的父级的像素坐标。

答案 1 :(得分:0)

可能this代码段可以帮助您计算角色的个人长度