最好的显示方式是什么?让我们说矩形(3x5)带有20x20像素的图标。?我想稍后更改每个pic图标的图像文件(=它不仅仅是静态图片)。我试图让JFrame
充满JPanels
,但我一次只能显示一个面板。我不想使用GridLayout
,因为我只需要一个框架内的小矩形。有什么想法怎么做?找不到任何教程或解决方案。我是GUI开发的新手。感谢
答案 0 :(得分:4)
你做想要使用GridLayout
。您的问题是,您放置图标的JFrame
默认使用BorderLayout
(实际上,您不应更改顶级组件的布局)。
这意味着,如果您向框架添加多个面板,而不使用NORTH
,EAST
,SOUTH
,WEST
约束之一,则只有一个面板将是可见的并占据所有空间。如果您使用GridLayout
来获得该面板,则图标将被拉伸,因为面板会因帧BorderLayout
而获得所有空间。不延伸其内容的替代布局是FlowLayout
,但要使用的布局在很大程度上取决于您的上下文。
要显示图标,JLabel
非常方便。使用ImageIcon
作为标签的图标。您可以稍后在标签上使用setIcon()
来选择新图标。
JFrame
BorderLayout
JPanel
。默认布局为FlowLayout
,这将阻止拉伸JPanel
,并添加适当的GridLayout
JLabel
,每个ImageIcon
都有一个合适的{{1}}