草庐IT

java - Netbeans JSR-296、Swing 和 JavaFX,我们现在打算使用什么?

我开始学习Java开发(我以前用C++开发),我使用的是一些较旧的Material,但是,我也想了解Java的最新发展和建议。我做了一些关于Swing和JavaFX的背景研究。我了解到JavaFX脚本的开发已经停止,但是,FX的第2版正在开发中,所以我不确定这最终会是什么,因为我认为脚本是标准的主要部分。在使用Netbeans时,我发现Swing的进一步开发即将停止,Netbeans支持(JSR-296)也将停止。Netbeans建议转向Netbeans平台API,我不愿意这样做,因为我想将Java作为一种真正的跨平台语言来学习,而不是被任何细节所束缚。这让我想问一个问题,在Java世

Java Swing : how do I properly instantiate GUI and pass domain objects?

我有一个带有嵌套面板的GUI(带有嵌套面板等的选项卡)。我需要将域对象传递给深层嵌套的面板。我可以想到两种方法:在一个地方实例化所有的图形用户界面对象,比如框架类。那会使传递域对象变得非常简单,但是Frame类会庞大且难以维护。每个面板都有自己的类,我们在其中对其进行实例化和布局组件。现在它易于维护,类也很干净,但是如何我如何传递我的域对象链?我不想链传他们通过甚至不应该知道他们的面板的构造函数存在。顶层面板会有大量这样的对象开始。Nietherway似乎是一种解决方案。你通常如何处理这个问题? 最佳答案 当我组合一个JavaSwi

java - 从 Swing 应用程序框架 (JSR 296) 过渡

几年前,JSR296引入了一个在Swing中创建桌面应用程序的框架。NetBeans提供了与引用实现的紧密集成。我喝了Kool-Aid(r)并创建了许多程序,从简单的单面板统计计算器到大型多窗口、多面板数据分析和模拟程序。此后,JSR已基本被放弃,下一版本的NetBeans(7.1)将不再包含对它的支持。我正在寻找有关如何将这组现有应用程序转换为新框架的建议。似乎有几种可能的选择,包括:NetBeansPlatform.我对此有一些经验。虽然它是非常有能力,但对于某些应用程序来说似乎有点矫枉过正。EclipseRichClientPlatform(RCP)。类似的想法NetBeans平

java - 如何在基于 Swing 或 NetBeans 平台的 Java GUI 应用程序中更改 WM_CLASS 值?

所有基于Swing/NetBeans的JavaGUI应用程序似乎都具有相同的WM_CLASS值:WM_CLASS(STRING)="sun-awt-X11-XFramePeer","java-lang-Thread"可以通过发出xprop命令并指向窗口来查看此参数。自定义它的实际目的是让类似Mac的停靠栏(例如AWN(以及Ubuntu的Unity))区分应用程序窗口并将它们分组在应用程序的固定启动器图标下。为此,需要在~/.local/share/applications或的.application文件中相应地设置StartupWMClass参数/usr/共享/应用程序。不用说,如果多

java - 在 Java Swing 中打印的单元测试

我有一些使用Swing/AWT打印功能的代码,我想对其进行单元测试。它使用系统native打印对话框,但有没有办法让JVM拦截它并在单元测试期间用模拟替换它,以便我可以获得要打印的图像副本?我的打印代码很简单,大致如下所示:Printableprintable=getPrintable();PrinterJobprintJob=PrinterJob.getPrinterJob();printJob.setPrintable(printable);if(printJob.printDialog()){try{printJob.print();}catch(PrinterException

Java Swing - 在子菜单中选择项目时增加宽大度

尝试单击子菜单中的项目时,很自然地会将鼠标快速滑过其下方的菜单项。Windows和Mac都通过在打开菜单之前设置一个小的延迟来本地处理这个问题。SwingJMenus不处理此问题,鼠标短暂悬停在其上的菜单会在鼠标到达预期的菜单项之前打开。例如,在下图中,如果我尝试选择Item3,但在此过程中我的鼠标短暂地滑过Menu2,Menu1子菜单会在我到达之前消失。有没有人对解决这个问题有任何提示或建议?我的想法是定义一个自定义MenuUI,为其鼠标处理程序添加一个计时器。这里有一些简单的示例代码可以说明我的问题:publicclassThingextendsJFrame{publicThing

Java Swing 内存使用

关于这个问题有很多问题,但没有一个让我满意的答案;我正在使用Swing编写一个简单的GUI窗口。目前它只包含4个按钮,其中一个是打开文件选择器。当我使用VisualVMMonitoring工具查看内存使用情况时,结果如下所示:memoryusagehttp://img17.imageshack.us/img17/3589/8txc.png当我点击按钮时出现了第一条派克,然后我什么也没做。空闲应用程序消耗10M/min(当它什么都不做时?)这正常吗?因为我必须用图像做一个类似测验的小程序,所以我应该在每次切换到下一个问题时调用System.gc()以避免(可能是巨大的?)内存用法?

Java Swing : How to make the JComboxBox drop down list taller?

如何使JComboBox的“下拉”(或“弹出”,我不知道它是怎么叫的)在屏幕上变高?默认情况下,当我打开JComboBox时,我看到29个项目中的7个,然后我需要滚动。我应该怎么做才能看到这32个项目中的15个?(或者,如果下拉菜单的高度为150像素,我如何才能将其设为300像素?)我已经阅读了关于JComboBox和JavaDoc的Sun教程,但我一定是忽略了要调用的方法。 最佳答案 您正在寻找setMaximumRowCount方法。JComboBoxtutorial有一些示例代码展示了它的实际效果。

java - 如何在 Mac OS X 标题栏中更改我的 java swing 应用程序标题?

这个问题在这里已经有了答案:JavaOSXLionSetapplicationnamedoesn'twork(6个答案)关闭6年前。我的SwingJava应用程序在MacOSX上运行良好,但它在Mac标题栏中的标题显示为"org.classes.MainClass",这是我的应用程序的主类路径。p>我可以通过代码或在我的java应用程序的list文件中更改此标题吗?

swing - 使用 AspectJ 加载 javax.swing.* 类

我正在使用AspectJ来跟踪对图形类的调用。到目前为止,我已经使用了一组预先编织的javax.swing.*类,并且在加载时我通过使用-Xbootclasspath/p开关告诉JVM使用这些编织的类而不是来自JRE的类。我想切换到加载时间编织模式。谁能帮助我如何在加载时编织javax.swing。我已经在网上搜索过,但我仍然不知道该怎么做。我知道默认情况下,AspectJ加载时编织器不会编织java.*和javax.*类。有人建议使用-Xset:weaveJavaPackages=true,weaveJavaxPackages=true在aop.xml中,但这些都没有帮助,因为jav