Java 如何创建包含多个图像的矩形?
用20x20像素的图标显示矩形(3x5)的最佳方式是什么。?我想在以后更改每个pic图标的图像文件(=它不仅仅是静态图片)。我试图使Java 如何创建包含多个图像的矩形?,java,swing,user-interface,layout-manager,Java,Swing,User Interface,Layout Manager,用20x20像素的图标显示矩形(3x5)的最佳方式是什么。?我想在以后更改每个pic图标的图像文件(=它不仅仅是静态图片)。我试图使JFrame充满jpanel,但一次只能显示一个面板。我不想使用GridLayout,因为我只需要一个框架内的小矩形。有什么办法吗?找不到任何教程或解决方案。我是GUI开发的新手。谢谢您确实想使用网格布局。您的问题是,您将图标放入的JFrame默认使用BorderLayout(实际上,您不应该更改顶级组件的布局) 这意味着,如果向框架添加多个面板,而不使用北、东、南
JFrame
充满jpanel
,但一次只能显示一个面板。我不想使用GridLayout
,因为我只需要一个框架内的小矩形。有什么办法吗?找不到任何教程或解决方案。我是GUI开发的新手。谢谢您确实想使用网格布局
。您的问题是,您将图标放入的JFrame
默认使用BorderLayout
(实际上,您不应该更改顶级组件的布局)
这意味着,如果向框架添加多个面板,而不使用北
、东
、南
、西
约束之一,则只有一个面板可见并占用所有空间。如果对您得到的一个面板使用网格布局
,图标将被拉伸,因为该面板接收到由于框架的边界布局
而产生的所有空间。另一种不会拉伸其内容的布局是FlowLayout
,但要使用的布局在很大程度上取决于您的上下文
要显示图标,可以方便地使用JLabel
。使用ImageIcon
作为标签图标。您以后可以使用标签上的setIcon()
来选择新图标
总的来说,我的方法是:
- 使用带有
边框布局的
JFrame
- 在框架中,添加一个
。默认布局为JPanel
,这将防止拉伸流程布局
- 在面板中,添加一个带有适当网格布局的
JPanel
- 在该面板中,添加
s,每个标签都有一个适当的JLabel
ImageIcon
网格布局。您的问题是,您将图标放入的JFrame
默认使用BorderLayout
(实际上,您不应该更改顶级组件的布局)
这意味着,如果向框架添加多个面板,而不使用北
、东
、南
、西
约束之一,则只有一个面板可见并占用所有空间。如果对您得到的一个面板使用网格布局
,图标将被拉伸,因为该面板接收到由于框架的边界布局
而产生的所有空间。另一种不会拉伸其内容的布局是FlowLayout
,但要使用的布局在很大程度上取决于您的上下文
要显示图标,可以方便地使用JLabel
。使用ImageIcon
作为标签图标。您以后可以使用标签上的setIcon()
来选择新图标
总的来说,我的方法是:
- 使用带有
边框布局的JFrame
- 在框架中,添加一个
JPanel
。默认布局为流程布局
,这将防止拉伸
- 在面板中,添加一个带有适当网格布局的
JPanel
- 在该面板中,添加
JLabel
s,每个标签都有一个适当的ImageIcon