需要用swt做个下拉菜单(类似word和写字板中用于更改字体的下拉菜单)

liaoningjinbao 2008-03-18 11:40:48
需要用swt做个下拉菜单(类似word和写字板中用于更改字体的下拉菜单),下拉菜单中是当前系统的所有可用字体
swt中有现成的控件可以直接调用的吗?或者有什么解决方法或建议?
...全文
89 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liaoningjinbao 2008-03-19
  • 打赏
  • 举报
回复
问题已解决

部份代码如下:

private static String[] getSystemFontNames(){
//取得系统字体列表
FontData[] fontDatas = (FontData [])Display.getCurrent().getFontList(null, true);

SortedSet set = new TreeSet();
for(int i=0;i<fontDatas.length;i++){
set.add(fontDatas[i].getName());
}

String[] fonts = new String[set.size()];
set.toArray(fonts);
return fonts;
}
liaoningjinbao 2008-03-19
  • 打赏
  • 举报
回复
谢谢楼上的回答!
不过我想要的不是弹出系统的关于字体设置对话框,而是只有设置字体的下拉菜单!
jeff_jian 2008-03-19
  • 打赏
  • 举报
回复
在UBUNTU中用FontDialog就只有字体嘛.
justforjoy 2008-03-18
  • 打赏
  • 举报
回复
呵呵,楼上的不错哦。
daxiang_zhang 2008-03-18
  • 打赏
  • 举报
回复
so easy~

Button btn = new Button(shell,SWT.PUSH);
btn.setText("tsdt");
btn.addSelectionListener(new SelectionListener(){
public void widgetDefaultSelected(SelectionEvent arg0) {
}
public void widgetSelected(SelectionEvent arg0) {
FontDialog dialog = new FontDialog(shell);
dialog.setRGB(new RGB(255,255,121));
FontData fontData = dialog.open();
if(fontData!= null){
System.out.println(fontData);
Font font = new Font(display,fontData);
font.dispose();
}
}});

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧