草庐IT

java - 如何使用在所有平台上运行的 SWT 创建可执行 JAR?

SWT随附一个基本JAR和每个平台(Windows、Linux/32位、Linux/64位、Mac、AIX等)的一个特定JAR。如何创建一个可执行JAR以在运行时选择正确的平台JAR?[编辑]我想在子目录中提供所有平台JAR,然后在main()中修改类加载器。有人试过这个吗? 最佳答案 对于我目前的工作,我需要提供一个可执行的jar,它可以在自身内部加载jar并执行第二个main()。基本上是一个Bootstrapmain()和一个应用程序main()。第1步。在list“主类”中放置Bootstrap类第2步。当您的Bootstr

java - 防止 SWT ScrolledComposite 吃掉它的部分 child

我做错了什么?这是我的代码的摘录:publicvoidcreatePartControl(Compositeparent){parent.setLayout(newFillLayout());ScrolledCompositescrollBox=newScrolledComposite(parent,SWT.V_SCROLL);scrollBox.setExpandHorizontal(true);mParent=newComposite(scrollBox,SWT.NONE);scrollBox.setContent(mParent);FormLayoutlayout=newForm

java - 如何在 Eclipse 中获取 SWT 和 JFace 的 JavaDoc?

我是Eclipse的新手,不知道如何让SWT和JFace的JavaDocs在我编辑时显示出来。我该怎么做?谢谢! 最佳答案 我假设您已经自己下载了这些jar并在您的项目中引用了它们。如果是这样,您可以右键单击项目资源管理器中的jar(在“引用库”节点中),然后单击“属性”。在出现的窗口中,您可以定义jar的JavaDoc和源代码的位置(如果有的话)。您也可以通过单击“项目”>“属性”>“Java构建路径”>“库”并展开要添加javadoc/source的jar的节点来达到此目的。另外值得一提的是,如果您使用Maven(http://

java - 如何最好地序列化 java.awt.Image?

我有一个Serializable对象,它应该包含一个java.awt.Image作为它的成员。我应该如何序列化它?(从不太清楚的第一个版本编辑,抱歉。) 最佳答案 ImageIcon实现了Serializable,它可以用来包装一个Image类http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/ImageIcon.html 关于java-如何最好地序列化java.awt.Image?,我们在StackOverflow上找到一个类似的问题

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

我正在使用SWT编写桌面应用程序。从另一个线程更新GUI控件的最简单方法是什么? 最佳答案 使用Display.asyncExec或Display.syncExec,取决于您的需要。例如,另一个线程可能会调用此方法来安全地更新标签:privatestaticvoiddoUpdate(finalDisplaydisplay,finalLabeltarget,finalStringvalue){display.asyncExec(newRunnable(){@Overridepublicvoidrun(){if(!target.isDi

java - 创建 Java 消息对话框(swing/awt/other)的最快方法?

我正在创建一个Java应用程序,它将执行一些处理然后需要显示一条消息以提供给用户反馈。但是,它似乎非常慢-需要超过两秒才能返回。我将源代码剥离到明显的罪魁祸首,这是使用的代码:packageSwingPlay;importjavax.swing.JFrame;publicclassDialog{publicstaticvoidmain(String[]args){JFrameframe=newJFrame("DialogDemo");}}我正在从命令行执行此操作:java-classpath.SwingPlay.Dialog如您所见-我只创建了一个JFrame,甚至没有显示它。如果相关

java - java.awt.dialog是如何实现模态的?

我想了解java.awt.Dialog是如何实现模态(阻塞其他窗口)的?是的,我尝试阅读java.awt.Dialog的代码,但我有点迷失在其中。所以我想简要地了解一下他们的工作。他们是否禁用所有其他窗口的所有事件?谢谢普雷姆 最佳答案 它的系统依赖。在Windows上,主事件循环被修改。大多数情况下,打开非模态对话框并手动锁定底层窗口会更好(例如,将玻璃Pane设置为根Pane并禁用它,或者阻止所有设置自定义焦点管理器的事件)。 关于java-java.awt.dialog是如何实现模

java - 是否可以在 Windows 10 中为 AWT 应用程序提供清晰的任务栏图标

我正在尝试设置JavaAWT应用程序的图标,以便它在Windows10任务栏上以native分辨率呈现(包括当桌面缩放比例设置为高于100%时)。似乎默认情况下,如果一个可执行文件嵌入了一个包含多种尺寸的图标,Windows似乎会选择一个比任务栏图标的实际尺寸大的尺寸并缩小它(在100%比例下它将32像素的图标调整为24,即使提供了24像素的图标,其他比例也类似。)我已经解决了C++MFC应用程序的这个问题,方法是只加载正确大小的图标作为资源并将WM_SETICON消息发送到窗口,这会在任务栏和alt-tab对话框上生成漂亮的清晰图标。smallIcon=(HICON)LoadImag

java - 为什么 java.awt.Graphics.drawLine 异常慢?

我正在尝试实现以下“网格”布局。该类正在扩展java.awt.Canvas,并在paint函数中绘制这些形状(或线条)。为什么Canvas?检查here,最初尝试做类似的事情。更新MCVE获取上述“布局”的代码:importjava.awt.BasicStroke;importjava.awt.BorderLayout;importjava.awt.Canvas;importjava.awt.Color;importjava.awt.Dimension;importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.ev

java - 在 Swing 应用程序启动期间,首次调用 JFrame 构造函数需要很长时间(因为 java.awt.Window())

我正在尝试使用JavaSwing构建一个简单、轻量级且响应迅速的应用程序。但是,当它启动时,在窗口(JFrame)出现之前会有明显的延迟(>500毫秒)。我已经追踪到java.awt.Window类的构造函数,它是JFrame的祖先。奇怪的是,构造函数只在第一次调用时慢。如果我创建多个JFrame对象,则第一个对象在构造函数中花费的时间约为600毫秒,但对于后续对象通常测量为0毫秒。这是一个简单的示例,在我的系统上,它显示了第一个构造函数调用的显着延迟,但没有显示第二个:publicstaticvoidmain(Stringargs[]){java.awt.EventQueue.inv