草庐IT

java - 使用 invokeLater 后 Swing UI 未更新

我有一个JavaSwingUI,它没有像我认为的那样更新/重绘。该应用程序发送XMPP消息并在不同的线程上接收响应。处理该响应并更新UI以反射(reflect)消息中包含的信息。收到响应后,我使用更新JPanel组件javax.swing.SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){/*executelogictoupdatepanel*/}});自从我用Java开发以来已经有一段时间了,但根据我的在线研究,invokeLater将可运行对象排队等待在GUI线程上执行。但是,直到我在应用程序中执行导致重绘的其他操作(

java - 在 Swing 组件的顶部绘画?

我将一个JPanel添加到一个JViewport,并且该面板还添加了其他几个面板。我正在尝试实现一种拖动选择,您可以通过拖动鼠标来选择多个组件。我面临的唯一问题是选择矩形被绘制在添加到主JPanel的组件后面。我怎样才能在它们上面作画?我的结构如下:JFrame->ContentPane->JLayeredPane->JScrollPane->JPanel->JPanel[].大学作业设计稿:如您所见,矩形位于其他面板的后面。 最佳答案 ThisiswhatI'malreadydoing(onamuchsimplerlevelobv

java - Swing:调整 JFrame 的大小,例如 Linux 中的 Frames

我想知道是否有可能以这种方式实现JFrame的大小调整,它已被调整为例如linux中的标准窗口。更准确地说:如果用户开始拖动,则预览窗口时只会显示future的大小,而不会调整原始内容的大小。一旦用户释放鼠标,框架就会调整到该大小。在图片中:(1)调整大小前的状态(2)用户开始拖动(红圈处)(3)用户释放鼠标,调整框架大小有没有可能在JavaSwing中实现?编辑:因为这个程序有一天也应该像7一样在较低的JavaRE中运行,所以我尝试将mKorbel的建议和评论中的建议与半透明框架结合起来。结果接近目标,除了contentPane的内容在我停止移动鼠标后调整大小,而不是在释放鼠标时调整

java - 是否可以在 java Swing 应用程序中使用 REST 或 web api

我有一个Swing应用程序,除了webapi部分。他们有一个RESTapi,但是当我查看在java中使用RESTapi的示例时,他们都使用javaweb应用程序,而我找不到任何桌面swing应用程序。那么还有可能这样做吗? 最佳答案 是的。这是可能的。您可以在Swing桌面应用程序中使用(访问和读取)REST网络服务。您可以使用HTTPClient实现它。一个例子-http://www.mkyong.com/webservices/jax-rs/restful-java-client-with-apache-httpclient/

java - 如何使用 swing 创建可扩展面板?

我想创建一个展开和折叠面板列表,如下图所示:我还没有为此找到任何swing组件,所以我开始创建类似这样的东西。我试图将按钮一个放在另一个下,以填充可用宽度,但实际上不起作用。我只能看到最后添加的。JPanelpanel=newJPanel();panel.setLayout(newBorderLayout());panel.add(newJButton("DelphiProjects"),BorderLayout.NORTH);panel.add(newJPanel(),BorderLayout.NORTH);//hiddenpanelpanel.add(newJButton("Del

java - 在 Swing 应用程序中使用 Hibernate 进行 session 管理

您如何在JavaDesktopSwing应用程序中进行Hibernatesession管理?您使用单个session吗?多个session?这里有一些关于这个主题的引用:http://www.hibernate.org/333.htmlhttp://blog.schauderhaft.de/2008/09/28/hibernate-sessions-in-two-tier-rich-client-applications/http://in.relation.to/Bloggers/HibernateAndSwingDemoApp 最佳答案

java - 谁能给我解释一下这个 javax swing 方法?

我无法理解这个简单的代码:javax.swing.SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){createAndShowGUI();}});任何人都可以向我解释它是如何工作的(简单来说,因为我是新手)?此短代码是此largercode的一部分.更具体地说,我有以下问题:“publicvoidrun”是否定义了一个新方法?如果是这样,为什么它在另一个方法中定义(参见“更大的代码”以供引用)?如果“publicvoidrun”定义了一个新方法,定义一个只包含一行代码的方法(createAndShowGUI)的原因是什么?

java - 一种更好的方式来做 Swing 应用程序

是否有更好的方法来开发JavaSwing应用程序?SWXML?JavaFX?这里的开发者还有什么喜欢和推荐的吗? 最佳答案 另一种“更好的方法”是使用更好的布局管理器:MigLayout:一个极其灵活且易于使用的布局管理器,适用于Swing和SWT。它可以做表格布局、表单布局和几乎所有Swing布局管理器可以做的事情,只需简单易懂的基于字符串和/或API的编码。它的目标是用于手动编码的布局,就像Matisse/GroupLayout用于IDE一样。JPanelpanel=newJPanel(newMigLayout());panel

java - 如何用边框包围 Java Swing 组件?

我正在构建一个包含几个选项卡式面板的应用程序。在它们中的每一个上,我都想放置一组由边界彼此分开的组件。它看起来像:|-TitledBorder1---[JTextField][JComboBox][JTextField][JComboBox]|--------|-TitledBorder2---[JTextField][JComboBox][JTextField][JComboBox]|--------...andsoforth.当我尝试简单地向面板添加新边框TitledBorder2时,它被添加并覆盖了第一个,但将组件留在了顶部。在某些示例中,我看到在一个框架内定义了许多JPanel

java - 比较 SWT 和 SWING

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestionswt比swing快吗?我在哪里可以获得好的教程关于swt?很容易从swing迁移到swt?