Tag: swt

如何在SWT中从InputStream加载字体?

我需要从SWT中的Java Resource或InputStream加载字体( .otf或.ttf )文件。 org.eclipse.swt.graphics.Device.loadFont(String path)允许我( 示例 )从字体文件路径加载字体(并且它可以工作),但没有相应的方法从任何其他源加载它。 我正在考虑使用java.awt.Font.createFont(int fontFormat, InputStream fontStream) ,然后在AWT java.awt.Font构建org.eclipse.swt.graphics.FontData和org.eclipse.swt.graphics.Font对象宾语。 既然我还没有尝试过这个选项(我甚至不知道它是否有效)我只是想知道是否还有其他选择?

在SWTcanvas上显示IplImage(JavaCV)

我正在使用JavaCV进行大学项目。 它本质上是一个运动检测器。 我使用OpenCVFrameGrabber类从网络摄像头获取帧,我想在我的GUI上显示抓取的帧。 我正在使用SWT,我认为将帧显示到Canvas组件中会很好。 我有一个问题,因为OpenCVFrameGrabber提供图像作为IplImage类的实例,SWT使用org.eclipse.swt.graphics.Image图像类。 所以我应该将图像从IplImage转换为SWT Image。 做这个的最好方式是什么?

将SWT导入为Gradle依赖项

我正在研究如何将SWT UI库导入我的Java项目。 我在maven上找到了SWT的pom文件: https : //repo1.maven.org/maven2/org/eclipse/swt/3.3.0-v3346/swt-3.3.0-v3346.pom 从文件中我build.gradle添加到build.gradle文件中 compile “org.eclipse:swt:3.3.0” 但是当我将它添加到我的build.gradle我收到以下错误: Project ‘L-CAD Main’ is missing required library: ‘/home/ashley/unresolved dependency – org.eclipse swt 3.3.0’ 如果我理解这是对的,这意味着它找不到依赖,所以我不知道我做错了什么。 我的IDE是Eclipse。

带有Eclipse Look的Eclipse RCP工具栏按钮

在Eclipse中,使用ActionSets扩展点可以轻松指定工具栏的按钮。 但是,当我需要以编程方式指定一些项目时,我无法获得相同的外观。 我不相信框架使用本机按钮,但到目前为止,我找不到与Eclipse外观相匹配的正确配方。 我想看看是否有人找到了在代码中复制此function的正确代码段。

在课堂之间进行交流

我有一个分为两个类的表单。 每个类代表表单部分的小部件。 允许这些类在彼此之间共享数据并相互更新的最佳方法是什么。 示例:单击A类中的按钮。 更新C类中的文本字段

如何在JFace的TableViewer中创建一个复选框?

我创建了一个包含两列的tableViewer,我想让其中一个成为复选框。 为此,我创建了一个CheckBoxCellEditor,但我不知道为什么它不起作用。 名为tableName的列显示其值为OK。 列规范如下。 String[] COLUMN_HEADINGS = {“Select”, “Table name”}; TableColumnLayout tableLayout = new TableColumnLayout(); parent.setLayout(tableLayout); //Set what would display each column TableViewerColumn selectCheckBox = createTableViewerColumn(COLUMN_HEADINGS[0], 0); selectCheckBox.getColumn().setResizable(false); selectCheckBox.setLabelProvider(new ColumnLabelProvider(){ @Override public String getText(Object element) { return null; } }); //Set what would display each column TableViewerColumn tableName = createTableViewerColumn(COLUMN_HEADINGS[1], 1); tableName.getColumn().setResizable(false); tableName.setLabelProvider(new ColumnLabelProvider(){ public […]

Java / SWT:如何从嵌入式窗口接收鼠标事件

我正在使用’reparenting’将Windows应用程序嵌入到我的SWT应用程序中。 那部分工作正常。 我现在想将我的SWT应用程序挂钩到嵌入式应用程序的消息队列中以接收鼠标移动事件。 我看到SWT中的操作系统类有许多有趣的方法来添加钩子,但我还是无法弄清楚如何使用它们。 有人可以帮忙吗? 谢谢

为SWT应用程序构建多平台可执行文件(Eclipse)

我有一个基于Eclipse的SWT应用程序,而不是使用Maven。 我的应用程序针对多个操作系统(CentOS,Windows和Mac)。 唯一不与操作系统无关的jar文件是SWT库,它特定于每种操作系统类型,更不用说处理器类型(x86和/或x64)。 我看到了另一个问题 ,但是目标是Maven而我没有使用Maven。 我通过遵循概述的程序并包括整个SWT下载的ZIP文件将“org.eclipse.swt”添加到我的项目中。 这指定了Package Explorer中的第二个项目。 早些时候,当我刚刚包括swt.jar时,它有点容易,因为我只需要删除jar,包含新的jar,然后重建,但那真是太痛苦了。 现在我使用整个SWT ZIP,这个过程有点乏味而且不专业。 有什么步骤,所以当我指定“右键单击> Java> Runnable JAR文件”来创建一个可执行jar时,我得到3个(或多个)不同的jar文件,每个操作系统一个? Visual Studio做得很好,只是我不知道如何在Eclipse中这样做。 更新:要回答评论,我想添加JFace支持,因为我想使用TableViewerfunction,这需要JFace。 Eclipse在第一部分中概述了如何在SWT中添加的概述。 除了在最后添加源代码之外,这些步骤都有效,但这不是主题。 我按照64位Windows的步骤进行操作,但是我必须支持CENTOS,Mac目前会“很好”。 独立于swt.jar经文org.eclipse.swt,我想要一个干净的方式(想想带有.Net的Visual Studio)为我的应用程序构建一个可运行/可执行的jar文件,每个支持的操作系统类型一个。 我的想法是我指定构建(在我设置之后的任何菜单键序列)并且每个目标OS获得一个可执行jar文件。

为什么JFreeChart中没有文字?

JFreeChart似乎正在工作,除了所有文本。 它根本没有出现,我不知道为什么。 我附上了一张带有饼图的窗口图片,这是我从教程网站获得的。 如您所见,文本不可见。 (对不起,我的推文很长) 谢谢 编辑: 以下是生成上图的代码: package analyzer_main; import java.awt.Font; public class FloatChart extends Composite implements Screen { JFreeChart floatChart; public FloatChart(Composite parent, int style){ super(parent,style); createContents(); } private void createContents(){ this.setLayout(new FormLayout()); floatChart = createChart(createDataset()); ChartComposite chartComposite = new ChartComposite(this,SWT.NONE,floatChart, true); FormData fd_chartComposite = new FormData(); fd_chartComposite.left = new FormAttachment(0); fd_chartComposite.right = […]

SWT:通过双击阻止树扩展?

我有SWT树的问题。 我的情况是这样的:我有一个SWT树,它包含许多TreeItems(日志条目),它们也包含TreeItems。 这些日志条目有很长的消息,根本无法在TreeColumns中显示。 所以我的想法是:在树上添加一个监听器,由DoubleClick打开一个新的Dialog,显示条目的详细信息。 到现在为止还挺好。 如果我双击一个项目,它就可以了。 但是:如果我双击一个父项,它将展开(这很好),但我的双击监听器也是活动的,然后对话框将打开。 那不是,我想要的。 因此,该问题有两种解决方案:1)通过双击自动防止树扩展/折叠并自己实现方法或2)识别项目已扩展且事件必须中止。 我真的不知道如何做1或2.你们知道吗? 提前致谢。