需求分析
- 在JPanel中添加图片;
- 将绘有图片的JPanel组件添加到JFrame界面中,实现切割组件放置效果。
代码示例如下:
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); }
|
效果
更多内容及免费资源,请关注: