无论图像大小如何,drawImage()方法都会将图像绘制得很小

Far*_*der 2 java swing image jpanel paintcomponent

我有一个imagepanel在JPanel上绘制图像的类.我的问题是图像内部看起来很小jpanel,我不知道为什么.

我尽我所能,搜索网络甚至一些Java书籍,但是没有成功.我真的需要一些帮助.

我是java的新手.

    class Weapons extends JPanel {
    private Image weaponimage = weapon1.getImage();

    @Override
    protected void paintComponent(Graphics g) {
    super.paintComponent(g);

    if (image != null)
        g.drawImage(weaponimage, 0, 0, getWidth(), getHeight(), this);
   }
   }
Run Code Online (Sandbox Code Playgroud)

这是图像类.

And*_*son 6

"即时修复"是以自然尺寸绘制该元素.EG改变这个:

g.drawImage(weaponimage, 0, 0, getWidth(), getHeight(), this);
Run Code Online (Sandbox Code Playgroud)

对此:

g.drawImage(weaponimage, 0, 0, this);
Run Code Online (Sandbox Code Playgroud)

这看似合乎逻辑.应该以自然尺寸绘制"武器".


..problem是jpanel里面的图像看起来很小,

不.问题似乎是面板本身非常小.图像被绘制为由布局指定的面板的宽度和高度.

要增加(BG)图像的大小,请向面板添加组件(正确布局)并以其首选大小显示面板.