Questions tagged «swing»

Swing是Java中主要的用户界面工具包,并随标准Java SDK一起提供。它包含在包javax.swing中。

9
使用多个JFrame:好的还是不好的做法?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我正在开发一个显示图像并播放数据库声音的应用程序。我正在尝试确定是否使用单独的JFrame从GUI向数据库添加图像。 我只是想知道使用多个JFrame窗口是否是一种好习惯?

9
我应该避免在Java Swing中使用set(Preferred | Maximum | Minimum)Size方法吗?
多次批评我建议使用以下方法: setPreferredSize setMinimumSize setMaximumSize 在Swing组件上。我想在显示的组件之间定义比例时,看不到任何替代方法。有人告诉我: 对于布局,答案始终是相同的:使用合适的LayoutManager 我在网上搜索了一下,但没有找到对该主题的任何全面分析。所以我有以下问题: 我应该完全避免使用那些方法吗? 出于某种原因定义了这些方法。那么我什么时候应该使用它们呢?在哪种情况下?出于什么目的? 使用这些方法的负面后果到底是什么?(我只能考虑在具有不同屏幕分辨率的系统之间增加可移植性)。 我认为任何LayoutManager都无法完全满足所有所需的布局需求。我真的需要为我的布局上的每个小变化实现一个新的LayoutManager吗? 如果对4的回答为“是”,这是否会导致LayoutManager类的泛滥而导致难以维护? 在需要定义子组件之间比例的情况下(例如,child1应该使用10%的空间,child2 40%,child3 50%的空间),是否可以在不实现自定义LayoutManager的情况下实现呢?

14
如何将图像添加到JPanel?
我有一个JPanel,我想向其中添加即时生成的JPEG和PNG图像。 到目前为止,我在Swing教程中看到的所有示例,特别是在Swing示例中,都使用ImageIcon。 我将这些图像生成为字节数组,它们通常比示例中使用的通用图标大,尺寸为640x480。 使用ImageIcon类在JPanel中显示该大小的图像时是否存在任何(性能或其他)问题? 什么是平常做的呢? 如何不使用ImageIcon类将图像添加到JPanel? 编辑:对教程和API的更仔细的检查显示,您不能将ImageIcon直接添加到JPanel。而是通过将图像设置为JLabel的图标来实现相同的效果。只是感觉不对...
341 java  image  swing  jpanel 

17
如何以编程方式关闭JFrame
JFrame与用户按下X关闭按钮或按Alt+ F4(在Windows上)相同,获得关闭的正确方法是什么? 我通过以下方式设置了我想要的默认关闭操作: setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 它确实满足了我想要的上述控件的功能。这个问题不是关于这个的。 我真正想做的是使GUI的行为与按下X关闭按钮的行为相同。 假设我要扩展WindowAdaptor,然后通过来添加我的适配器实例作为侦听器addWindowListener()。我想看到的调用相同的序列通过windowDeactivated(),windowClosing()以及windowClosed()作为将与出现X关闭按钮。可以这么说,撕开窗户与其说是将窗户本身撕开,不如说是撕开窗户。
251 java  swing  jframe 

9
Java GUI框架。选择什么?Swing,SWT,AWT,SwingX,JGoodies,JavaFX,Apache Pivot?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 有很多针对Java的gui框架,但是公认的当今选择框架是什么? 以下是我对不同框架的理解,如果我错了,请指正。这是一组定义非常松散的问题,但是我仍然认为这对任何想创建丰富的GUI应用程序的人都非常有价值。 AWT 是挥杆的基础,它的性能不错,但缺少高级组件。如果您打算创建功能丰富的应用程序,那么AWT可能不是走的路。但是对于不需要丰富用户界面的小型GUI应用程序。这是一个久经考验的框架,因此可能非常适合。 摇摆 如前所述基于AWT。在起步阶段,它被认为是缓慢且容易出错的,并导致IBM为Eclipse创建SWT。但是,使用Java 5(或6?),Swing成为构建新应用程序的首选框架。Swing具有很多丰富的组件,但在某些方面仍然缺少。一个例子是,没有一个功能齐全的TreeTable组件可以进行排序和过滤/搜索。 SWT 由IBM为Eclipse创建的,他们似乎认为Swing当时不适合Eclipse。它本身是相当低级的,它通过JNI使用平台的本机窗口小部件。它根本与Swing和AWT不相关。但是,他们的API有点笨拙而且不直观。它们确实具有一些高级组件,例如TreeTable。(但我不认为它们支持开箱即用的排序和过滤)。SWT使用一些本机绑定(通过JNI?),互联网上的喧嚣声是该框架不应在当今的项目中使用。(为什么不?) 秋千 基于Swing,其任务是为Swing创建丰富的组件。仍在开发中。(尽管不是很活跃。)具有一组非常好的组件,例如TreeTable。但是据我所知,TreeTable不支持过滤和排序。但是它确实支持突出显示搜索。 请注意,SwingX是组件(AFAIU),是现有Swing组件的扩展或组成 嘉迪 我一无所知的框架...它的优点和缺点是什么?Jgoodies与其他产品有什么不同? JGoodies OTOH是关于PLAF和布局的。 JavaFX Java / Oracle的最新旗舰。有望成为开发丰富桌面或Web应用程序的事实标准。 阿帕奇枢轴 它使用Java2D渲染UI,从而最大程度地减少了Swing和AWT的(IMO,肿的)遗产影响。(@Augustus Thoo) 它的主要焦点似乎在RIA(丰富的Internet应用程序)上,但是它似乎也可以应用于桌面应用程序。作为个人评论,看起来非常有趣!我特别喜欢这是一个Apache项目。 https://cwiki.apache.org/PIVOT/frequently-asked-questions-faq.html Qt Jambi 用c / c ++编写的本地qt库的Java包装器。非常强大,被广泛使用并被接受。具有大量的GUI组件和易于使用的API。 http://qt-jambi.org/ 因此,尝试总结一下我在问什么: 假设我今天想用Java创建一个包含许多高级组件的桌面应用程序,我应该选择什么?又为什么呢 这些框架中的哪一个应该被认为已过时,哪些应该被认为是遥远的未来? 当今的事实上的标准框架是什么,您将使用哪些工具来创建Java GUI应用程序? 我可能会后悔提出这个问题,但无论如何还是会尝试: 据说C#/。Net具有一组非常好用的组件,可以在各个方向上灵活应用。在某种程度上研究了不同的Java框架之后,我似乎对Java并没有说同样的话。为什么是这样?为什么Java(世界上使用最广泛的编程语言)没有相同的GUI组件集? 难道Java只是在较低的基础上提供了gui组件,是否有可能编写我正在寻找的所有这些高级组件,但是您必须自己做很多工作(如果不是全部的话)?
228 java  swing  user-interface  swt  awt 


12
值更改侦听器到JTextField
我希望消息框在用户更改文本字段中的值后立即出现。目前,我需要按Enter键才能弹出消息框。我的代码有什么问题吗? textField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { if (Integer.parseInt(textField.getText())<=0){ JOptionPane.showMessageDialog(null, "Error: Please enter number bigger than 0", "Error Message", JOptionPane.ERROR_MESSAGE); } } } 任何帮助,将不胜感激!

5
Java Swing revalidate()与repaint()
我将一个Swing应用程序放在一起,我经常想替换JPanel的内容。为此,我先打电话removeAll(),然后添加我的新内容,然后打电话revalidate()。 但是我发现旧内容实际上仍然可见(尽管被新内容遮盖了)。如果我repaint()除了添加呼叫revalidate(),它会按预期工作。 我敢肯定,在其他情况下,我经历过仅打个电话revalidate()就足够了。 所以基本上我的问题是-我需要同时调用这两个函数吗?如果不需要,什么时候应分别调用它们?
211 java  swing 

11
无论监视器分辨率如何,如何设置JFrame居中显示?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 7个月前关闭。 改善这个问题 使用Java时,我发现启动应用程序时很难将主窗口放置在屏幕中央。 有什么办法可以做到吗?它不必垂直居中,水平对齐对我来说是更重要的目标。但是也欢迎垂直对齐。
197 java  swing  jframe  position 

6
面向桌面应用程序的Swing与JavaFx [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 改善这个问题 我有一个非常大的程序,当前正在使用SWT。该程序可以在Windows,Mac和Linux上运行,它是一个包含许多元素的大型桌面应用程序。现在SWT有点老了,我想切换到Swing或JavaFX。我想听听您对三件事的想法。 我主要关心的是桌面GUI应用程序会更好吗?(我在网上看过,很多人认为JavaFX与Swing一样好,但是除了简单的见解大战之外,我没有看到很多有效的论点)。它必须在Windows,Mac和一些流行的Linux发行版上都可以工作。 什么会更清洁,更容易维护? 从头开始构建的速度更快? 我在应用程序中使用MVC方法论,如果有帮助的话。

4
Java外观(L&F)
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 4年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它当前不接受新的答案或互动。 我正在使用Java Swing开发供个人使用的桌面应用程序,我的应用程序需要一些漂亮的外观。如何使用Java或第三方API?


10
Java桌面应用程序:SWT与Swing [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 7年前关闭。 改善这个问题 我现在是一名Web开发人员,正在考虑构建我的第一个真正的桌面应用程序。这个想法是要构建一个工具,该工具可以在没有API的Web应用程序中自动执行非常重复的任务。 我知道我想使用Java。我以前在网络上使用过它,非常了解语法,并希望应用程序尽可能地跨平台。 我不确定的地方是应该使用SWT还是Swing。当我的主要受众使用Windows时,我希望在那里尽可能使用本机。Linux和Mac应该可以工作,但是外观在这里并不那么重要。 那么支持和反对每个UI框架(Swing或SWT)的参数是什么? 谢谢。 PS:我使用Eclipse在Windows上进行开发。但是正在考虑与Netbeans一起玩。
158 java  swing  swt 

4
如何设置JLabel的背景颜色?
在我的中JPanel,我将的背景设置JLabel为其他颜色。我可以看到单词“ Test”,它是蓝色的,但是背景完全没有变化。如何显示? this.setBackground(Color.white); JLabel label = new JLabel("Test"); label.setForeground(Color.blue); label.setBackground(Color.lightGray); this.add(label);
149 java  swing  jlabel 

6
JComboBox选择更改侦听器?
每当尝试从中进行选择时,我都试图触发一个事件JComboBox。 我遇到的问题是没有明显的addSelectionListener()方法。 我尝试使用actionPerformed(),但从未触发。 没有覆盖的模型JComboBox,我没有想法。 如何通知有关JComboBox** 选择更改的通知?** 编辑:我要道歉。事实证明,我使用了行为异常的子类JComboBox,但是由于您的回答是好的,因此我将保留该问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.