【问题标题】:GUI in Java using Swing使用 Swing 的 Java 图形用户界面
【发布时间】:2011-08-15 18:59:25
【问题描述】:

我真的需要一些关于如何在 Java 中创建 GUI 的指导。我是一名大学生,这是他们从不关注的事情之一。我目前已经设置并运行了我的程序的其余部分,现在我正在尝试制作 GUI。我正在为此创建一个新的 GUI 类。 (我的印象是这是最好的做法)。我有点了解如何进行基本设置,但我不明白之后如何与 GUI 交互。我想要做的是在启动时创建一个窗口,然后它并排显示两张图片,每张图片下方都有一个标签。我希望图像是可点击的,当点击时,两个新图像会加载到它们的位置(标签更改为下方)。我还没有做过这样的事情,而且我也遇到了很多不同的方法来添加图像,我想知道是否有最佳做法。

如果需要,我可以提供代码,但我认为我的问题的提出方式不需要它。

提前感谢所有帮助。

【问题讨论】:

  • 你应该开始阅读Swing trail
  • 如果您使用的是 ide,Netbeans 也有一些很棒的教程netbeans.org/kb/docs/java/quickstart-gui.html
  • “我的问题是如何提出的。”只是问题以“?”结尾的一点。并且该文本缺少“?”。换句话说 - 毫无疑问。

标签: java image swing awt


【解决方案1】:

一些建议:

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

编辑1:

  • 更好——在我帖子下方的 cmets 中采纳 Puce 的建议!

【讨论】:

  • 或在 JButtons 上显示图片图标(如果您不喜欢,可以取消设置边框)。然后你可以监听 ActionEvents (high-level) 而不是 MouseEvents (low-level)。
【解决方案2】:

我 5 年的 Swing 经验中的两个个人提示。

学习使用 LayoutManagers 而不是 GUI 构建器来编写 GUI。 (MigLayout 最佳选择)

了解如何编写 TableModel 而不是使用 DefaultTableModel。

【讨论】:

    【解决方案3】:

    也有一些不错的tutorials

    【讨论】:

      猜你喜欢
      • 2016-06-18
      • 2016-08-09
      • 1970-01-01
      • 2016-01-30
      • 2014-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-23
      相关资源
      最近更新 更多