jjzjj

java - 如何在 SWT 中使用默认应用程序打开文件?

例如,我有.pdf文件(该文件的路径)。如何从SWT应用程序(例如单击按钮)在默认应用程序(可能是AcrobatReader)中打开此文件? 最佳答案 您应该能够使用:Program.launch(file);打开文件(使用默认应用程序或创建者)。来自javadoc:LaunchestheoperatingsystemexecutableassociatedwiththefileorURL(http://orhttps://).Ifthefileisanexecutablethentheexecutableislaunched.No

java - Eclipse 菜单管理器 : get ImageDescriptor of Image?

我无法让它工作,所以我认为在这里发帖可能是个明智的想法...我在SWT中有一个上下文菜单(实际上它是一个Eclipse插件)。这是一个级联菜单,所以只要您将鼠标悬停在某个条目上,它就会展开...我的问题是,我想在菜单上附加一个小图标,但我很难做到!代码:....manager.add(newSeparator());//iconforthe"changecolor"menuImageDescriptoricon=ImageDescriptor.createFromFile(null,"icons/palette_brush.png");//submenuMenuManagercolor

java - 如何在 Eclipse RCP 应用程序中使 View 可滚动?

到目前为止我尝试了什么:在createPartControl中:ScrolledCompositesc=newScrolledComposite(parent,SWT.V_SCROLL|SWT.H_SCROLL);sc.setLayoutData(newGridData(GridData.FILL_BOTH));sc.setExpandVertical(true);sc.setExpandHorizontal(true);sc.setSize(ApplicationWorkbenchWindowAdvisor.WIDTH,ApplicationWorkbenchWindowAdviso

Java SWT shell 窗口关闭事件

我只是有一个简单的问题。如何在swt应用程序中覆盖shell的窗口关闭事件?我希望X按钮简单地隐藏shell,而不是关闭程序。我尝试了一些简单的方法:shell.addListener(SWT.Close,newListener(){publicvoidhandleEvent(Eventevent){shell.setVisible(false);}});仍然终止程序。提前致谢。 最佳答案 你可以试试shell.addListener(SWT.Close,newListener(){publicvoidhandleEvent(Eve

java - TableViewer 中字段之间的制表符

我想做的是能够在表中的元素之间切换。我目前正在这样创建我的表。this.tableViewer=newTableViewer(parent,SWT.FULL_SELECTION);tableViewer.setUseHashlookup(true);table=tableViewer.getTable();GridDatagridData=newGridData(GridData.FILL_BOTH);gridData.grabExcessVerticalSpace=true;table.setLayoutData(gridData);table.setLinesVisible(tru

java - SWT:如何进行高质量图像调整大小

我的应用程序需要调整ImageData的大小。不幸的是,我还没有通过GC(启用抗锯齿和高插值)或ImageData.scaledTo()获得我想要的结果。生成的图像质量太低,无法接受。调整高质量ImageData大小的最佳方法是什么?编辑:我正在缩小。 最佳答案 AWT提供不同模式的图像缩放。对于降尺度,区域平均提供最佳质量。当然可以为SWT重新实现面积平均缩放算法,或者,对于通常足够的快速解决方案:将SWT图像转换为AWT图像使用适当的模式重新缩放(如果缩小则为面积平均,否则为双线性)将其转换回为SWT图像可以找到在SWT和AWT

java - 从 DateTime 控件获取日期

我知道这可能是一个简单的问题,但我是Java的新手,我的经验主要是使用PHP或C#。我正在从事eclipseRCP项目并使用GoogleWindowBuilder。我需要做的就是从名为dateTimeDOB的DateTime控件中获取日期如果日期或月份值是单个数字,则它必须以这种格式(dd/mm/yyyy)返回日期,并且前面必须有一个“0”。我认为DateTime控件的Type是org.eclipse.swt.widgets.DateTime例如:StringstrDate=dateTimeDOB.getDate("dd/mm/yyyy");提前致谢 最佳答

java - 在 SWT FileDialog 中设置初始目录

我正在处理一个EclipseRCP项目,需要让用户选择一些文件。为方便起见,根据某些情况,文件选择对话框的初始目录应设置在打开之前。因为我绑定(bind)到EclipseRCP/SWT,所以我正在使用org.eclipse.swt.widgets.FileDialog。此FileDialog的文档指出使用setFilterPath(Stringstring)方法,它应该完全满足我的需要(参见documentation)。FileDialogdialog=newFileDialog(shell,SWT.OPEN);dialog.setFilterExtensions(newString[

java - GC 和 FontData 获取字体高度有什么区别?

这解释了字体指标我认为我们可以像这样在SWT中获得“字体高度”;GCgc=newGC(label);System.out.println(gc.textExtent(label.getText()));System.out.println(label.getFont().getFontData()[0].getHeight());为什么这两个出局不一样?哪个是字符串的正确高度? 最佳答案 GC#textExtent()以像素返回范围,而FontData以点返回字体。这里的单位不同。 关于

java - syncExec() 的 SWT 问题

这是我在StackOverflow上的第一个问题(抱歉我的英语不好)。我会尽力解释这个问题。我有一个带有前台jade应用程序的swt应用程序,其中我有一个进度条来通知应用程序的持续时间。要刷新此进度条,我使用:if(Display.getCurrent()!=null){progress.run();}else{sShell.getDisplay().syncExec(progress);}进度是:Runnableprogress=newRunnable(){publicvoidrun(){if(progressBar.isDisposed())return;intpercentage