使用Swing实现Java中的GUI

4
我需要一些关于如何在Java中创建GUI的指导。我是一名大学生,但他们从未专注于这个方面。我已经设置并运行了程序的其余部分,现在我正在尝试制作GUI。我正在创建一个新的GUI类。(我认为这是最佳实践)。我有点理解如何进行基本设置,但不知道如何与之后的GUI交互。我想要做的是在启动时制作一个窗口,然后在窗口中并排显示两张图片,每张图片下面有一个标签。我希望单击图像时会加载两张新的图片(标签更改为下方)。我从未做过这样的事情,也遇到了很多不同的添加图像的方法,我想知道是否有最佳实践。
如果需要,我可以提供代码,但我认为根据我的问题描述不需要。
感谢您提前提供的所有帮助。

9
你应该开始阅读Swing入门教程 - asgs
1
如果您正在使用IDE Netbeans,它也有一些很棒的教程。请访问http://netbeans.org/kb/docs/java/quickstart-gui.html。 - grantk
如何提出我的问题。只是一个提示,问题应该以“?”结尾,而这段文本缺少“?”。换句话说,这里没有问题。 - Andrew Thompson
3个回答

7

一些建议:

  • 将您的图像放入ImageIcons中。考虑使用ImageIcons的ArrayList。
  • 在JLabel中显示您的ImageIcons。通过调用setIcon(...)来更改图标。
  • 在同一JLabel中显示您的文本(或者如果您希望,一个不同的JLabel被放置在图像JLabel下面,两个JLabel都由使用BorderLayout的JPanel控制)。通过其setText(...)方法更改JLabel文本。
  • 向持有图像的JLabel添加MouseListener,并在侦听器的mousePressed方法中更改JLabel的图标。您可以通过mousePressed MouseEvent参数的getSource()方法获取对点击的标签的引用。
  • asgs评论中提到的教程将帮助您完成所有这些操作。

编辑1:

  • 更好的选择-遵循Puce在我的帖子下面的推荐!

3
或者在JButton上显示图标(如果您不喜欢它,可以取消边框)。然后,您可以侦听ActionEvents(高级)而不是MouseEvents(低级)。 - Puce

3

我在Swing技术领域有五年的经验,以下是两个个人建议:

1. 学习使用布局管理器编写GUI,而不是使用GUI构建器。(MigLayout是最佳选择)

2. 学习如何编写TableModel,而不是使用DefaultTableModel。


0

还有一些相当不错的教程


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接