Java中GUI开发的未来?
考虑 Sun/Oracle在"发明" Javafx 后决定不进一步发展摇摆 javafx实际上并不能真正起作用,有些人认为这已经是 li> SWT并非真正独立于平台的性质,即处置GUI元素的手动任务以及捆绑平台特定库的必要性 有其他出路吗? 如果我想在JVM上进行GUI开发 使用良好的API(摇摆和SWT还不错,但它们也不是很好.) 尽管声称这已经解决了,但"感觉到"响应迅速(今天仍然是Swing和SWT的问题.) 几年后不会过时 我应该做出什么决定? 甚至还有第三个选项,或者将来可能有一个选择? 选项 哪个是快速响应的(不是摇摆的意识形态"如果不是很快,那是开发人员的错") 带有本地外观和感觉 使用一个在所有平台上运行的单个库 这是现实的吗? 谢谢! ========== 要澄清:如果我必须在JVM上启动一个新的软件项目,则有几种现有选项,例如使用SWT或Swing,使用Swing与第三方库,例如Swingx,
0 2024-03-01
编程技术问答社区
如何从Eclipse JFace中使用IDecorationContext api呢?
是否有一个示例用于标签装饰? 从外观上看,IDecorationContext类似乎提供了某种上下文的装饰支持,但是对于我的生命,我无法使用此功能找到任何示例代码... 有人实际使用了装饰上下文功能,如果是,它解决了什么用例? ps:我正在寻找一种将图像装饰应用于对象标签的方法,并取决于显示对象的位置,基本图标大小各不相同(例如,在表格和表格中传统的"小"图标内容标头的树项目和较大的图标). 应用于原始图标的装饰应相应选择适当的尺寸装饰. IDecorationContext似乎适合我需要的帐单,但是文档的稀疏方式是人们从开源库的次要功能中所期望的,找不到示例. 谷歌搜索" idecorationContext" 也没有透露任何有趣的东西,所以我转向stackoverflow人群智慧,希望下一步的人得到问题,可以更快地得到答案;) 解决方案 我没有使用idecorationContext,但是您可以看到它在 org.eclipse.jface.
0 2024-03-01
编程技术问答社区
使用Ant建立一个多平台的SWT应用程序
我正在编写一个可以在Windows(32/64位)和Mac OSX(32/64位)的SWT应用程序. 除了jre,我依靠SWT库找到在这里.我可以根据我的目标平台找到四个版本的SWT库(如上所述). 构建我的应用程序时,如何使用正确的SWT Jar进行编译?如果可能的话,我想尝试避免对JAR版本,平台和体系结构进行硬编码. SWT罐子是这样命名的: swt-win32-x86_64.jar swt-win32-x86_32.jar swt-macosx-x86_32.jar swt-macosx-x86_64.jar (我的项目将是一个开源项目.我希望人们能够下载源并构建它,因此我想到将所有四个版本的SWT Jars都包括在源分发中.希望这是依赖第三部分库的发布代码的正确方法.) 谢谢大家. 解决方案 我试图这样完成它:我已经安装了蚂蚁贡献任务,因为它支持if语句.我已经修改了我的构建文件以检测OS平台和体系结构. 编译时,它使用了我li
0 2024-02-27
编程技术问答社区
如何使JavaC复制现有的类文件到目标文件夹?
我希望有人可以给我一个建议... 问题 在我的项目的源目录中,某些软件包包含不是" .java" -files的资源.现在,我需要将其放在那里编译为" .class" -files.问题在于,当我建造最终罐子时,蚂蚁会过滤掉. " .dll"和" .png"文件未过滤. 如何将所有内容复制到目标目录? 我使用以下蚂蚁任务: 背景 我必须放入最终的罐子多个其他依赖OS的罐子(SWT发行).程序启动时只能加载一个jar.但是,如果没有任何特殊的类加载程序,就不可能让JVM加载JAR.因此,我将所有罐子提取到包装中,JVM现在可以加载它们. 为什么我要把它们放在
2 2024-02-27
编程技术问答社区
无法用swtjar制作ant脚本
我正在尝试制作一个使用SWT进行GUI的程序的跨平台.我偶然发现了//mchr3k.github.com/swtjar/" rel =" nofollow noreferrer"> this ,并试图在我自己的程序中使用它.我对蚂蚁脚本不是很有经验,并且该程序在其构建路径中还有许多其他.jars,因此我使用Eclipse生成了一个蚂蚁构建脚本,我对此进行了修改以包括SWTJAR任务.但是,当脚本运行并执行SWTJAR任务时,它会失败并说The archive swtjar.jar doesn't exist.我还试图较早地制作合法的构建文件,并遇到了此错误.我缺少什么吗?我将swtjar.jar包括在构建路径中,而脚本顶部的任务DESDEF. 这是脚本:
0 2024-02-27
编程技术问答社区
用于不同平台的SWT jar
我正在使用应用.该类属于 DJ项目.它需要SWT JAR才能执行.现在,我将窗口中的SWT Jar包含在我的JAR包装中.我想知道如何在同一包装中包含Linux/Mac的SWT罐子?我正在使用蚂蚁构建应用程序罐.我应该为不同平台放置不同的SWT罐子吗? 解决方案 如果要在不同平台(Win/Mac/Linux/*Nix)或体系结构(32/64位)上运行的单个构建安装程序,然后在运行时动态加载正确的一个(或让安装程序在安装时复制正确的SWT JAR). 例如.假设您要支持32和64位Windows和Linux,您将拥有SWT罐子: lib/swt_win_32.jar lib/swt_win_64.jar lib/swt_linux_32.jar lib/swt_linux_32.jar 使您的ant脚本/安装程序包括所有这些(它们约为1.6MB),然后在代码中的运行时您可以使用Java System属性检测OS和架构 System.getProperty("o
0 2024-02-26
编程技术问答社区
为多平台的SWT应用程序在每个平台上建立一个jar
已经有几个问题了,但它们似乎都没有正常工作. 这是其中的列表: 使用ANT使用ANT 来实现多平台SWT build Multi-Platform可在) build Multi-Platform可用于SWT应用程序使用maven swt jar用于不同的平台 创建跨平台Java SWT应用程序 我的要求是构建一个蚂蚁脚本,该脚本为每个平台创建一个jar ,即Windows X86,一个用于Windows X64,Linux X86/X64等. . 有人有进一步的见解吗? 使用上述方法,我无法产生可行的解决方案.它要么以不自动加载的SWT Jar文件结尾,要么未包含在类路径中. 如果有人可以提出一个工作示例(理想情况下包括完整的源代码),那将是宏伟的! 解决方案 对,所以我终于提出了一个解决方案,该解决方案在三个平台上成功测试了. 两个魔术组件是jar-in-in-jar-loader和一个正确的构建脚本. 可以在此处找到带
0 2024-02-26
编程技术问答社区
SDK管理器没有找到java
我无法解决手头的问题,我的头一直变得秃顶或秃顶. 手头的问题是我的SDK经理找不到我的Java,也不会找到我的SWT文件. 我正在运行Windows 7 64位,而我的SDK,Java,SWT如下. Java JDK - C:\Program Files\Java\jdk1.6.0_24 Java location - C:\Program Files\Java\jdk1.6.0_24\jre\bin SDK manager - C:\android-sdk-windows 我是第一次学习编码,我已经尝试了所有内容.设置SDK Manager指定的正确路径,甚至尝试设置多个程序,更改批处理文件,然后列表继续. 有什么想法? 混乱的Android 好吧,删除了安装程序,设置路径,这就是我得到的 C:\Users\MuniFC Portable11>C:\android-sdk-windows\tools\android.bat [IN
0 2024-01-29
编程技术问答社区
在SWT浏览器中运行JQuery脚本
我正在开发一个带有嵌入式SWT浏览器的Java应用程序.我想在SWT浏览器上运行jQuery脚本.我是由jQuery库文件放置在项目的SRC文件夹中的JQuery脚本.这是程序. import org.eclipse.swt.SWT; import org.eclipse.swt.browser.AuthenticationEvent; import org.eclipse.swt.browser.AuthenticationListener; import org.eclipse.swt.browser.Browser; import org.eclipse.swt.browser.ProgressEvent; import org.eclipse.swt.browser.ProgressListener; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.*; public cl
0 2024-01-17
编程技术问答社区
带键盘快捷键的SWT动作......无需将其添加到菜单中
我们目前已经实施了许多SWT操作,因为这是一种绑定单个命令以添加到梅纳布尔和工具栏上并具有这些命令的键盘快捷键的好方法. 现在...我如何在不必添加到梅巴尔的情况下注册Pline Swt/jface的操作,但是以键盘快捷键可以调用它? 解决方案 我用在KeyDown事件上使用Display.addFilter在平原上解决此问题.参见此问题示例. 其他解决方案 使用org.eclipse.ui.bindings扩展名,并添加一个新键. 您分配了序列(M1,M2,M3和M4用于表示诸如Shift,命令和ALT之类的密钥,具体取决于系统).例如,我将alt+d分配为命令的密钥组合,所以我在序列字段中输入了" m3+d". 要使您的密钥绑定到工作,您需要选择 schemiDID .您可以在绑定扩展下做一个.只需分配一个ID即可.然后,您需要将条目添加到" plugin_customization.ini"文件: org.eclipse.ui/KEY_CON
6 2024-01-09
编程技术问答社区
SWT x64与xulrunner 3.6.28 x86
有什么方法可以使用SWT X64? 我不能使用较新的Xulrunner 10.4esr,因为我有一些问题.旧的人像魅力一样运行,但没有x64. 如果我尝试加载3.6.28,我会发现一些奇怪的错误: org.eclipse.swt.SWTError: XPCOM error 0x80004005 at org.eclipse.swt.browser.Mozilla.error(Unknown Source) at org.eclipse.swt.browser.Mozilla.initXULRunner(Unknown Source) at org.eclipse.swt.browser.Mozilla.create(Unknown Source) at org.eclipse.swt.browser.Browser.(Unknown Source) at GUI.TFSBrowser$1.run(TFSBrowser.ja
2 2024-01-09
编程技术问答社区
Windows 64位上的SWT
我的应用程序抛出了下面的异常. 线程"主"中的例外 java.lang.unsatisfiedlinkerror:不能 在64位上加​​载32位SW T库 JVM. 如何解决这个问题? jar文件的名称是什么? 解决方案 在64位JVM上您需要64位SWT.当前版本可以在此处下载: /downloads/drops/r-3.6.1-201009090800/index.php#swt 请注意前两个下载,第一个是x32,另一个用于x64. 注意:即使在64位窗口上,如果您使用32位JVM,您仍然需要32位SWT版本! 其他解决方案 我几周前遇到了同样的问题.我们开发了必须使用32位SWT的RCP应用程序,但我们在64位机器上工作. 我们要做的就是更改Eclipse的配置,因此它指向32位JVM.我们在窗口 - >首选项 - > java->安装JRE上做到了.在此偏好页面上,我们将所有引用从" program Files "更改为" pr
4 2024-01-08
编程技术问答社区
在Windows 32位上无法加载SWT库
我几乎完成了我一直在Linux上开发的一个Java项目.现在,我需要在Windows上构建和测试.因此,我已经在Windows XP 32位上安装了Eclipse,并导入了我的项目.项目的所有依赖项都在lib文件夹中的jar文件中,在linux上一切都很好,但是在Windows XP上,我会得到以下错误: Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: no swt-pi-gtk-4234 in java.library.path no swt-pi-gtk in java.library.path Can't load library: C:\Documents and Settings\firzen\.swt\lib\win32\x86\swt-pi-gtk-4234.dll Can't load li
26 2024-01-08
编程技术问答社区
是否可以修改Text swt widget的包字方式?
开发平台是Fedora上的Eclipse RCP 3.4(它使用GTK本机组件).我需要避免单词包装. i. 1|Hello | 2|Hello Wor| |World | |ld | 有一个简单的解决方案吗? 我已经看到SWT文本手柄是使用OS.GTK_WRAP_WORD_CHAR包装模式构建的.我想以OS.GTK_WRAP_WORD或OS.GTK_WRAP_NONE等恒定测试行为,但我不知道如何执行这个奇迹?是否可以通过编程方式修改平台特定的配置? 编辑1 - 我的一个同事有一个解决方案: import org.eclipse.swt.SWT; import org.eclipse.swt.internal.gtk.OS; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; public class SampleGrabExcess
8 2023-12-12
编程技术问答社区
如何改变org.eclipse.jface.wizard.Wizard中的按钮文本?
我想将org.eclipse.jface.wizard.Wizard中按钮的文本更改为"阿拉伯语"中的阿拉伯语? 我的意思是我想将标签"下一个"按钮更改为"". 解决方案 Wizard标签的语言由Jface处理并使用您的OS的区域设置.这意味着,如果您的机器设置为"英语(英国)",您将看到英文标签,如果设置为"德国",您将在德语中看到它们,等等. . 这里有相关问题: jface对话框对话框按钮 如何在按钮上设置自定义文本在Jface向导(Java) 更新: 如果您使用的是WizardDialog,则可以覆盖方法 createButtonsForButtonBar(Composite parent)/www.vogella.com/tutorials/eclipsedialogs/article.html" rel =" nofollow noreferrer">在这里.
12 2023-12-10
编程技术问答社区
如何更新向导页面上的控件?
我有一个由2个向导页面组成的向导. @Override public void addPages() { super.addPages(); addPage(firstPage); addPage(secondPage); } 我看到两个页面的createControl在显示向导时都会立即调用. 第一个向导页面具有文本字段.我想在用户从第一页到发送页面的第二页上输入的第二页上显示相同的文本值. 我该如何实现?如何更新控件? 解决方案 这基本上取决于您安排. 例如,当构造时,您可以将对第一页的引用传递到第二页.然后,第二页的setVisible可以在第一页上调用一些方法以获取所需的值.
2 2023-12-10
编程技术问答社区
如何使用SWT java在Wizard中为文本字段添加内容辅助工具
我使用SWT设计了一个带有文本字段的向导页面.我想在文本字段中添加内容辅助,即当我按" Ctrl+Space"时,它必须提出数据列表.实现此功能的任何标准方法? 解决方案 您可以使用Jface ContentProposalAdapter在Text控件上执行此操作. 使用以下内容: Text textControl = .... KeyStroke keyStroke = KeyStroke.getInstance("Ctrl+Space"); new ContentProposalAdapter(textControl, new TextContentAdapter(), provider, keyStroke, null); provider是实现IContentProposalProvider的类,这只是一种方法getProposals: @Override public IContentProposal [] getProposals(Stri
2 2023-12-10
编程技术问答社区
不能把内容放在SWT向导帮助按钮后面
我创建了一个基于SWT的向导,该向导具有自定义的帮助按钮.现在,我想将一些内容放在后面,因此也许将打开SWT浏览器,并显示一个预先的HTML DOC.但是我不知道在哪里可以访问我向导中的帮助按钮的操作.有什么想法吗? 解决方案 i Am 假设您正在使用标准的Jface接口和类用于向导实现.因此,在您的向导页面(extending org.eclipse.jface.wizard.WizardPage)中,您只需覆盖performHelp方法即可.请参阅下图. @Override public void performHelp() { Shell shell = new Shell(getShell()); shell.setText("My Custom Help !!"); shell.setLayout(new GridLayout()); shell.setLayoutData(new GridData(SWT.FILL, SWT.F
6 2023-12-10
编程技术问答社区
在Windows 7上实例化和OleControlSite时抛出NullPointerException
尝试从SWT打开Excel时会得到NullPointerException.可悲的是,我无法发布完整的堆栈和某些代码,因为它提到了我工作的公司.希望有人以前曾遇到过这个问题并可能认识到. 这是我可以发布 的StackTrace的一部分 java.lang.NullPointerException at org.eclipse.swt.ole.win32.OleControlSite.disconnectEventSinks(OleControlSite.java:468) at org.eclipse.swt.ole.win32.OleControlSite.releaseObjectInterfaces(OleControlSite.java:774) at org.eclipse.swt.ole.win32.OleClientSite.onDispose(OleClientSite.java:909) at org.eclipse.swt.ole.win32.OleClie
4 2023-12-07
编程技术问答社区