标签: swt

在无头环境中对SWT和Swing应用程序进行单元测试的最简单方法是什么?

我正在为我正在进行的项目单元测试一些SWT和Swing代码,只要我从eclipse运行它们,测试运行正常.

一旦我在哈德森环境中运行它们就会失败,因为哈德森在无头模式下运行测试.

这样做的最佳方法是什么?仅请开源解决方案(因为该项目是开源的).

junit swing swt headless

14
推荐指数
1
解决办法
7840
查看次数

为什么许多SWT控件不允许子类化?

我经常发现自己想要这样做.当您想要存储一些有用的信息或额外的状态时,它会非常有用.

所以我的问题是,是否有一个非常好的/强有力的理由为什么这是被禁止的?

谢谢

编辑:非常感谢所有这些答案.所以听起来对此没有正确或错误的答案.

假设我接受这些类不是子类的事实,那么标记Control类的最终结果是什么,但是禁止子类化 - 有效地将异常/错误从编译时降级到运行时?

编辑^ 2:看到我自己的答案:显然,这些类是可重写的,但需要由覆盖者明确确认.

谢谢

java swt

14
推荐指数
2
解决办法
7874
查看次数

如何将图标作为类路径资源添加到使用WindowBuilder创建的SWT窗口中?

我正在尝试将*.ico文件中的外部图标添加到我正在使用WindowBuilder设计窗口创建的窗口中.我可以选择shell,它会显示一个"图像"属性字段. 替代文字 这会打开图像选择器对话框: 替代文字

如何使我的图标在此菜单中显示为类路径资源?如果给出了绝对路径,则图像有效,但我不想在我的应用程序中使用该选项.

谢谢!

java eclipse swt classpath windowbuilder

14
推荐指数
2
解决办法
3万
查看次数

最佳实践 - SWT表,TableViewer,EditingSupport

我正在为我的主GUI添加一个表.它确实显示并且具有它想要显示的数据.但我觉得我的代码很乱,而且结构不正确.我正在寻找一个使用SWT的人来帮助我将正确的代码放在正确的位置.

A类 - 主GUI TableViewer

B类 - (ArrayList)表格/ B1类数据 - ArrayList结构数据模型

A类 - 有创造方法 TableViewer

  //////////////////////////////////////////////////////////////////////////
  //                         createTableViewer()                          //
  //////////////////////////////////////////////////////////////////////////
private TableViewer createTableViewer(Composite parent) {
    viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
    createColumns(parent, viewer);
    table = viewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    // Layout the viewer
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    viewer.setContentProvider(new ArrayContentProvider());
    *** Getting Array from Class B ***       
    viewer.setInput(AplotDataModel.getInstance().getArrayData());
    viewer.getControl().setLayoutData(gridData);
    return viewer;
}
Run Code Online (Sandbox Code Playgroud)

A类也有createColumns()方法和createTableViewerColumn()方法.

 ////////////////////////////////////////////////////////////////////////// …
Run Code Online (Sandbox Code Playgroud)

java swt tableviewer

14
推荐指数
1
解决办法
2万
查看次数

JAVA SWT/AWT Eclipse Mac OSX Java Cocoa CompatibilityMode已启用

我正在开发一个相当复杂的Java应用程序混合SwingSWT.每当我启动应用程序时,这是控制台输出(并且应用程序不会显示):

2012-12-19 12:45:45.359 java[3442:f07] [Java CocoaComponent compatibility mode]: Enabled
2012-12-19 12:45:45.360 java[3442:f07] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
Run Code Online (Sandbox Code Playgroud)

我遵循了许多指南和教程设置:

  1. System.setProperty("com.apple.awt.CocoaComponent.CompatibilityMode", "false");
  2. -XstartOnSecondThread
  3. --launcher-on-secondThread

现在我真的没有任何线索.让我的应用程序工作的唯一方法Mac OSXexport the Eclipse project to a JAR executable.嗯,这很烦人.有人可以向我解释如何在上面设置这些属性吗?有什么魔术吗?

编辑:我正在使用:

OSX Mountain Lion 10.8.2 ,
Java 1.6u37 64bit,
SWT 4.2 cocoa x64,
Windows XP ,
Java 1.6u37 32bit,
SWT 4.2 32bit 
Run Code Online (Sandbox Code Playgroud)

java cocoa swing swt awt

14
推荐指数
1
解决办法
2748
查看次数

SWT/JFace:删除小部件

Group group = new Group(parent, SWT.NONE);
StyledText comment = new StyledText(group, SWT.BORDER_DASH);
Run Code Online (Sandbox Code Playgroud)

这将创建一个内部带有文本区域的组.

我以后如何删除文本(从屏幕上删除它,以便我可以用其他东西替换它)?

java swt jface

13
推荐指数
1
解决办法
1万
查看次数

在SWT/JFace中寻找支持自动完成的组合(查看器)

我在SWT/JFace中寻找一个支持自动完成/提前输入的组合(查看器),即用户可以输入几个字符,下拉列表应该显示所有匹配的元素.

swt jface autocomplete type-ahead

13
推荐指数
2
解决办法
1万
查看次数

如何从Java中的另一个线程更新SWT GUI

我正在使用SWT编写桌面应用程序.从另一个线程更新GUI控件的最简单方法是什么?

java user-interface swt multithreading

13
推荐指数
2
解决办法
3万
查看次数

原生状态栏

有没有办法在SWT中创建本机状态栏,就像在Windows应用程序中找到的那样:

Windows状态栏http://i47.tinypic.com/ndq168.jpg

我已经看到使用标签模拟状态栏,但我对真正的解决方案更感兴趣.

java swt statusbar

13
推荐指数
1
解决办法
2571
查看次数

swt浏览器没有更多处理错误

我写了一个简单的程序.只是CTabFolder和CTabItem固有的WelcomTab.我想用浏览器填充我的WelcomeTab来渲染我的htmls.在WelcomeTab的init()方法我创建一个浏览器但是当程序想要构造它时,我得到这个错误

Exception in thread "main" org.eclipse.swt.SWTError: No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.browser.Mozilla.initMozilla(Unknown Source)
at org.eclipse.swt.browser.Mozilla.create(Unknown Source)
at org.eclipse.swt.browser.Browser.<init>(Unknown Source)
at org.hekmatof.Hbook.UI.WelcomeTab.init(WelcomeTab.java:55)
at org.hekmatof.Hbook.UI.WelcomeTab.<init>(WelcomeTab.java:30)
Run Code Online (Sandbox Code Playgroud)

...

另外我在基于Arch-Linux的KDE上使用Eclipse 3.7,因为我搜索了这个错误,无处不在告诉有关线程的句柄限制,但这是一个简单的程序,没有Font或Image ......要处理.我认为从操作系统获取处理应该是一个问题

java linux swt kde archlinux

13
推荐指数
2
解决办法
2万
查看次数