Java StyledText,附加不同字体的文本?

时间:2012-01-31 22:13:49

标签: java fonts formatting swt styledtext

我是Java新手,想知道如何设置字体和字体颜色,以便将下一个文本添加到SWT StyledText框

因此,例如,我有一个定义“命令”和“数据”文本的应用程序,每个应用程序都以不同的字体/颜色显示。所以,假设我刚刚添加了一些“命令”文本。现在我该如何设置以便下一个将成为“数据”文本的文本以不同的字体和颜色显示?

我做了很多谷歌搜索,但似乎没有任何帮助我。

P.S。:这不是最有效的方法:

int a = st.getCharCount();

Font font = new Font(shlProtruleModifier.getDisplay(), "Courier", 10, SWT.NORMAL);

StyleRange[] sr = new StyleRange[1];

sr[0] = new StyleRange();

st.append("\r\nWhat the heck?");

sr[0].start = a;
sr[0].length = st.getCharCount() - a;
sr[0].font = font;
sr[0].foreground = SWTResourceManager.getColor(SWT.COLOR_BLACK);

st.replaceStyleRanges(sr[0].start, sr[0].length, sr);

1 个答案:

答案 0 :(得分:1)

所以我已经能够提出以下可行的技术,

int a = st.getCharCount();

Font font = new Font(shlProtruleModifier.getDisplay(), "Courier", 10, SWT.NORMAL);

StyleRange[] sr = new StyleRange[1];

sr[0] = new StyleRange();

st.append("\r\nWhat the heck?");

sr[0].start = a;
sr[0].length = st.getCharCount() - a;
sr[0].font = font;
sr[0].foreground = SWTResourceManager.getColor(SWT.COLOR_BLACK);

st.replaceStyleRanges(sr[0].start, sr[0].length, sr);