我用StyledText做了一个文本框,如何才能实现下面的功能:
选择10字体输入一段文字,再选用15号字体输入时,原来用10号字体输入的文字不发生变化,也就是说每换一种字体时,之前的文字不发生变化
选择10字体输入一段文字,再选用15号字体输入时,原来用10号字体输入的文字不发生变化,也就是说每换一种字体时,之前的文字不发生变化
解决方案 »
- swing 给 border前加一个复选框怎么实现?
- jna调用dll时,如何处理hwnd参数 ,急!!!!
- java怎样跳出整个程序
- 简单正则表达式问题,输出为什么会是false呢?
- 数据库改变 生成改变数据库的语句
- java程序如何判断连接mysql的表的时候,该表搜索坏了的时候,如何判断他坏了,
- 请教一个问题啊,大家开发JSTL标签库时,在ECLIPSE中怎么创建的
- 在weblogic下配置链接oracle数据库,以下几种方式有什么区别?谢谢
- 用命令行java XXX运行的程序如何能放到后台运行,或者可以缩小成任务栏的一个图标??
- 太阳帝国的崛起(Sun的称霸)
- 一个parseFloat(String str)的问题
- JMenu如何关闭窗口?
看来要花点心思关注
final Display display = new Display();
Shell shell = new Shell(display);
final FontData fontData = new FontData();
fontData.setHeight(10);
//shell.setLayout(new FillLayout());
final Text fontText = new Text(shell, SWT.NONE);
fontText.setBounds(1, 1, 100, 15);
Button btn = new Button(shell, SWT.NONE);
btn.setText("Set FontSize");
btn.setBounds(110, 1, 100, 15);
btn.addSelectionListener(new SelectionListener(){ public void widgetDefaultSelected(SelectionEvent arg0) {
// TODO Auto-generated method stub
} public void widgetSelected(SelectionEvent arg0) {
String str = fontText.getText();
fontData.setHeight(Integer.parseInt(str));
}
});
final StyledText text = new StyledText(shell, SWT.BORDER | SWT.MULTI);
text.setBounds(0, 60, 300, 200);
text.addExtendedModifyListener(new ExtendedModifyListener(){ public void modifyText(ExtendedModifyEvent e) {
int start = e.start;
int length = e.length;
StyleRange style3 = new StyleRange();
style3.start = start;
style3.length =length;
style3.font = new Font(display, fontData);
text.setStyleRange(style3);
}
}); shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}