0%

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

需求分析

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

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

代码示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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:

1
2
3
4
5
6
7
8
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组件传入:

1
2
3
4
5
6
7
8
9
10
11
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);
}

效果

在这里插入图片描述

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

在这里插入图片描述

-------------结束啦 我可是有底线的~ -------------

欢迎关注我的其它发布渠道