在关闭模态对话框后在应用程序框架的玻璃Pane上设置忙碌光标时,并不总是显示忙碌光标。有时它有效(第一次它通常总是有效),有时无效。更好的是,在打开对话框之前设置忙碌光标。显示忙碌光标,但是当将鼠标移入对话框然后移出对话框时,忙碌光标不再显示。请注意,我仅在Linux上观察到以下错误。在MacOSX或Windows上,行为是确定性和一致的。另一个提示,在代码示例的第一种情况下,当鼠标未进入对话框并且使用键盘选择YES_OPTION时,始终显示忙碌的鼠标光标。同样在这种情况下,玻璃板上的“请稍候...”标签永远不会被绘制(paint)。这是一个演示这些错误的SSCCE:importjav
当我将Linux控制台应用程序升级到Swing应用程序时,我不想放弃程序打印到System.out的所有数据的可见性。如果我将它转储到文件中,我可能永远看不到重要的东西。我应该使用哪个WindowBuilderSwing小部件来制作System.out“控制台”显示?(我正在使用Java、Eclipse、ubuntu、Swing和WindowBuilder。)编辑:我使用了jfpoilpret的建议和Mohaimin的建议。结果是对JTextArea的私有(private)静态引用(在WindowBuilder结构内的可滚动Pane内)。然后我使用getter方法公开JTextArea
我一直在寻找一种非常简单的方法来将视频嵌入到我的JavaSwingGUI中。我是在追风吗?理想情况下,我希望有这样的东西:VideoPlayervideo=newVideoPlayer("filename");frame.getContentPane().add(video);video.play();我在寻找不存在的东西吗?我主要为linux开发,但考虑到windows,因为我可能会尝试在未来使我的应用程序跨平台。附加信息:我以前看过JMF,对实际显示和播放视频所需的代码量感到不满意。我可能会再次访问它。我想到了一个可以使用VLC播放视频的嵌入式浏览器,但这又不是最简单的事情。我可以
所以我遇到的问题似乎是一个只发生在Linux上的错误。我试图在按下某个键时记录我的Swing应用程序,然后检测该键何时被释放。现在这不应该成为问题,因为KeyListener应该为我处理这个。问题是,当我按住按键时,我会收到很多重复的keyPressed()/keyReleased()事件,而不仅仅是单个keypressed()。有没有人有解决方案或变通方法来了解何时真正在Linux上发布key?谢谢。 最佳答案 SotheproblemthatIamhavingappearstobeabugthatoccursonlyonLinu
我最近了解到(在基于C#的类中)有时认为在对象的构造函数中注册事件监听器是危险的,因为在对象完全初始化之前,这些事件监听器会获得对该对象的引用,并且可以(在至少在理论上)尝试在构造完成之前访问对象。据我了解,在构造完成之前访问对象可能会导致崩溃,至少在某些语言中是这样......如果它不会导致崩溃,那么我们只关心注册最后发生,所以我们的当我们注册它的监听器时,对象就准备好接收事件了。我现在开始使用新的SwingGUI,并注意到我在构建SwingGUI时的标准做法是在构造函数中连接事件监听器。似乎不太可能在构造函数完成之前调用Swing组件的事件监听器,因为它们可能在组件被添加到可见的S
我在网上搜索了可拖动Swing组件的示例,但我发现了不完整或无效的示例。我需要的是一个可以被鼠标拖动的Swing组件在另一个组件内。在被拖动时,它应该已经改变它的位置,而不仅仅是“跳”到它的目的地。我希望能在没有非标准API的情况下工作的示例。谢谢。 最佳答案 我提出了一个简单但运行良好的解决方案,我自己发现了;)我该怎么办?按下鼠标时,我记录光标的位置在屏幕上,然后组件的位置。当鼠标被拖动时,我计算new和旧的光标位置在屏幕上,然后移动组件通过这种差异。在Linux(OpenSuse,KDE3)下使用最新的JDK6进行测试,但是,
根据Swingtutorial:SomeSwingcomponentmethodsarelabelled"threadsafe"intheAPIspecification;thesecanbesafelyinvokedfromanythread.AllotherSwingcomponentmethodsmustbeinvokedfromtheeventdispatchthread.Programsthatignorethisrulemayfunctioncorrectlymostofthetime,butaresubjecttounpredictableerrorsthataredif
我有一个只包含一个JPanel的JFrame。我已经尝试设置面板的大小并打包框架,但没有效果。如果我设置JFrame的大小,它将改变大小,使其包含标题栏和边框。如何设置“实际大小”使其不包括标题栏和边框?例子:提前谢谢各位 最佳答案 您可以设置contentPane的preferredSize并在JFrame上调用pack,但通常最好让组件根据其布局管理器确定的首选尺寸自行调整尺寸。 关于JavaSwing设置"actual"帧大小(内部),我们在StackOverflow上找到一个类似
已结束。这个问题是off-topic.它目前不接受答案。想要改进这个问题?Updatethequestion所以它是on-topic堆栈溢出。关闭11年前。Improvethisquestion作为对比thiswiki,我正在寻找从编码角度实现SwingGUI控件的正确方法。我一直在努力学习Java及其GUI工具,但我发现一个又一个的互联网教程将所有内容都放在main中,我知道这是不对的。我也尝试过像Netbeans和其他“可视”编辑器这样的RAD系统,但是当我开始编码时,我已经有一大堆代码,我不知道它的作用有一半,所以我打算学习手代码Swing,我知道基本的控件和布局,但想以正确的方
为什么SwingJComponent类实现Serializable接口(interface)?我实现View的方式是无状态的,所有状态数据都存储在PresentationModel中。所以我不需要序列化我的观点。我使用了@SuppressWarnings("serial")注释来删除警告。有没有更好的方法来移除它们? 最佳答案 一开始,GUI构建器会以序列化格式保存UI。applet标记甚至有一个从序列化表单加载的属性(我不知道有其他人使用过它,我只是将它用作恶意)。不幸的是,使用GUI的序列化机制并没有真正起作用。Swing只保证