drawImage不显示整个图像?

时间:2017-04-16 23:53:26

标签: java swing graphics

我正在尝试将图像绘制到JPanel,而JPanel又添加到JFrame中,请参见此处:

  <link href="/css/bootstrap.css" type="text/css" rel="stylesheet"/>   

我的问题是,在运行代码时,只有缓冲图像的一个小角可见,我不确定框架布局,面板大小或drawImage方法参数,想法是否有问题?

P.S。输出:java窗口的截图

https://i.stack.imgur.com/NkrWF.png

1 个答案:

答案 0 :(得分:2)

您没有覆盖自定义组件的getPreferredSize()方法,因此默认大小基本上是(10,10),这是使用没有添加组件的FlowLayout的面板的大小。

不要使用JPanel来显示图像。或者,如果您确实想要使用JPanel,则需要实现getPreferredSize()方法来返回图像的大小。

最简单的解决方案是使用JLabelImageIcon

阅读How to Use Icons上Swing教程中的部分,了解更多信息和工作示例。