gpt4 book ai didi

java - 如何创建一个内部包含多个图像的矩形?

转载 作者:行者123 更新时间:2023-12-01 18:32:46 24 4
gpt4 key购买 nike

显示带有 20x20 像素图标的矩形 (3x5) 的最佳方式是什么?我想稍后更改每个图片图标的图像文件(=它不仅仅是静态图片)。我试图让 JFrame 充满 JPanels,但我一次只能显示一个面板。我不想使用 GridLayout,因为我只需要框架内的小矩形。有什么想法如何去做吗?找不到任何教程或解决方案。我对 GUI 开发完全陌生。谢谢

最佳答案

确实想要使用GridLayout。您的问题是,您放入图标的 JFrame 默认情况下使用 BorderLayout (实际上,您不应该更改顶级组件的布局)。

这意味着,如果您向框架添加多个面板,而不使用NORTHEASTSOUTH之一, WEST 约束,只有一个面板可见并占据所有空间。如果您对获得的那个面板使用 GridLayout,则图标将被拉伸(stretch),因为该面板由于框架的 BorderLayout 而接收了所有空间。另一种不拉伸(stretch)其内容的布局是 FlowLayout,但要使用的布局在很大程度上取决于您的上下文。

要显示图标,JLabel 很方便。使用 ImageIcon 作为标签的图标。您稍后可以在标签上使用 setIcon() 来选择新图标。

总的来说,我的方法是这样的:

  • 使用具有 BorderLayoutJFrame
  • 在框架中,添加一个 JPanel 到框架中。默认布局是 FlowLayout,这将防止拉伸(stretch)
  • 在面板中添加一个带有适当 GridLayoutJPanel
  • 向该面板添加 JLabel,每个 JLabel 都有一个适当的 ImageIcon

关于java - 如何创建一个内部包含多个图像的矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23374355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com