Java的Swing在界面的JPanel面板中中添加图片

本文介绍在Swing中如何在JPanel上显示图片的两种方法。第一种是通过继承JPanel并重写paintComponent方法来自定义绘制图片,第二种是在JLabel中加载图片并将其添加到JPanel中,后者更为简便推荐。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Swing在界面的JPanel面板中中添加图片

需求分析
  • 在JPanel中添加图片;
  • 将绘有图片的JPanel组件添加到JFrame界面中,实现切割组件放置效果。

方法一:使用Toolkit.getDefaultToolkit().getImage(“图片路径”);获取可编辑的图片

代码示例如下:

 Image image = Toolkit.getDefaultToolkit().getImage("图片路径");
 class ImagePanel extends JPanel {
        private Image image = null;

        public void paintImage(Image image) {
            this.image = image;
            this.repaint();
        }
        @Override
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), null);
        }
    }

即就是继承JComponent类重写paint方法,自己绘制图片(实际使用中比较麻烦,如仅仅是显示图片而不做操作,不推荐使用该方式)。

方法二 :直接在JLabel中加入图片,再将JLabel加入JPanel中(推荐)

Demo:

public class Demo{
 public void setAdjustmentWindow(JPanel panel, JFrame frame)
    {
       JLabel label = new JLabel();
       label.setIcon(new ImageIcon("soure/res/leftup.png"));//文件路径
       adjustmentWindow.add(label);
    }
  }

使用该方法时,将JFrame组件及已定义并设定好在JFrame上的JPanel组件传入:

class xxx{
....(省略)
JFrame frame = new JFrame("Demo");
JPanel Panel = new JPanel();
//调用方法设置
new Demo().setGeodeticIssueWindow(Panel,frame);
frame.add(Panel);
frame.pack();
frame.setVisible(true);
fFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
}

效果

在这里插入图片描述

更多内容及免费资源,请关注:

在这里插入图片描述

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值