草庐IT

java - 为什么 Java Swing 是可序列化的?

当我为远程用户创建Swing应用程序时,我只创建jar文件并创建一个WebStart文件让用户下载应用程序然后运行它。我还没有听说过提供JFrames等服务的应用程序服务器,例如JSP。这是初衷吗? 最佳答案 持久性。如果您只想要UI,您可以将它保存到磁盘,然后在下次程序运行时恢复它。它会完全恢复原状。不需要花哨的东西。 关于java-为什么JavaSwing是可序列化的?,我们在StackOverflow上找到一个类似的问题: https://stackov

java - Swing:如何创建事件并将它们分派(dispatch)给组件?

我需要向Swing中的组件发送一些事件,因此它的处理方式与任何用户生成的标准Swing事件一样。基本上,类似于宏记录器,然后是JEditorPane的执行器。但我需要对生成的事件进行更多控制。那么,假设我有一个编辑器,我想:捕获发送给它的所有事件,然后,我可以将它们存储在列表、磁盘或其他任何地方。以后能够参加这些Activity理想情况是允许用户编辑包含以下内容的命令:“键入A键,选择行,删除选择,光标向上,行开始……” 最佳答案 显而易见的事情是获取EventQueue并将事件发送到它。这只会将事件添加到队列中,该队列将在EDT轮

java - 有没有一种很好的方法来抽象 GUI,以便可以使用 SWT 或 Swing?

我目前正在编写一个具有SWTGUI的应用程序,但希望最终用户能够在SWT和Swing之间进行选择。我之前在程序的不同层尝试过抽象GUI细节,但从未对结果感到真正满意。是否有公认的或好的方法来做到这一点? 最佳答案 不幸的是,我不相信存在与工具包无关的API或类似的API。所以也许值得看看model-view-controller图案。您需要将尽可能多的功能从GUI抽象到Controller中,以便GUI组件很薄并且专用于您选择的特定窗口工具包。这将允许您以最少的重复代码插入SwingView来代替GWTView(反之亦然)。另请注意

Java Swing ;如何使程序在屏幕的最右侧启动?

默认情况下,我的Swing程序从监视器的左上角开始。有没有办法让它在右侧弹出?双显示器怎么样?我可以让它在正确的显示器上弹出吗?谢谢。卡罗 最佳答案 有很多关于使用GraphicsEnvironment的问题/答案做类似的事情。您可以使用GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()获取所有监视器,然后调用GraphicsDevice#getConfigurations然后调用GraphicsConfiguration#getBounds获取每

java - 在 Java Swing 中旋转 JLabel 和 ImageIcon

首先,这是我使用swing的第一周,如果我的问题太明显了,请见谅。此外,我需要使用标准Java库的解决方案,因为这是作业,我不允许使用奇怪的库。我使用JLabel和ImageIcon在JFrame上显示图像。现在我想将屏幕上的图像旋转到任意角度。我发现了一些关于Graphics2D的信息,但我找不到这样做的方法。由于我发现的解决方案不起作用或者我不理解它们,所以我对旋转ImageIcon或JLabel的任何解决方案感兴趣。由于我在JLabel上执行setBounds定位图像,我认为旋转JLabel将是更好的解决方案(这样我就不会被迫保存ImageIcon对象)。感谢您的关注,抱歉我的英

java - 如何使用 Java Swing 制作可扩展列表

我需要使用javaswing制作一个可扩展列表。我将尝试证明:未展开:>[Expandme!]>[Andme!]展开:|[Expandme!]>[Expandustoo!]>[Expandustoo!]>[Expandustoo!]>[Andme!]因此,当您单击列表的“展开我”部分时,将下拉另一个列表,其中可能包含更多可展开列表。如果你再次点击它,它的“子列表”就会缩回。很基本。而且,如您所见,我不是在寻找JComboBox,而且我认为JList无法做到这一点。如果有人能为我指明正确的方向,或提供一些编程示例,我将不胜感激。谢谢,镜像命运 最佳答案

java - 旋转 Swing JLabel

我目前正在尝试实现一个Swing组件,它继承自JLabel,它应该简单地表示一个可以垂直定向的标签。以此开头:publicclassRotatedLabelextendsJLabel{publicenumDirection{HORIZONTAL,VERTICAL_UP,VERTICAL_DOWN}privateDirectiondirection;我认为改变getPreferredSize()的结果是个好主意:@OverridepublicDimensiongetPreferredSize(){//swapsizeforverticalalignmentsswitch(getDirec

java - 使用 Java Swing 绘制多条线

我正在学习使用JavaSwing绘制线条以绘制迷宫。我可以在指定位置画一条线,它显示得很好。但是当我想绘制多条线时,只有最后一条显示。我的代码:publicclassLabyrinthGUIextendsJFrame{...Lineline;for(inti=0;i我可能需要刷新一些东西,以显示所有用for循环绘制的线,但不知道是什么。 最佳答案 为什么您的示例不起作用很简单;Swing使用布局管理器将每个添加到Container的组件放置到屏幕上。这样,线条就不会重叠。相反,使用一个Component来绘制每一行。绘制迷宫的解决方

java - 是否有支持 SQL 语法的 Swing 组件?

我正在寻找一些了解SQL语法的JavaSwing组件(类似文本区域)——这意味着它可以识别并突出显示它。如果没有我需要自己做,那里有任何有用的建议如何不浪费太多时间(例如使用哪个组件)? 最佳答案 JSyntaxPane貌似支持SQL高亮(我自己没试过)。 关于java-是否有支持SQL语法的Swing组件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3777512/

单线程环境中单个事件源的 Java Swing 多个事件监听器

我目前正在学习Swing,一般来说我是GUI开发的新手。在我的测试应用程序中,我有一个事件源的多个事件监听器,我想知道这些事件监听器中的哪一个将首先被执行。此外,我很想知道Swing事件处理在单线程环境中是如何工作的,尤其是当您对单个事件源有多个监听器时。最后,我想了解一些在Swing中必须使用多线程的常见情况。谢谢! 最佳答案 我会尽力回答您的所有3个问题。首先,未指定ActionListener的触发顺序。永远不要假设他们将开火的特定命令。如果您需要按特定顺序执行操作,请将它们放在相同的ActionListener中。在对Swi