java 将图像添加到 JPanel 背景
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/7217623/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-30 19:08:27 来源:igfitidea点击:
Adding an image to a JPanel background
提问by FadelMS
How can I add an image to a JPanel background. The image will not be scaled or resized. Thanks.
如何将图像添加到 JPanel 背景。图像不会被缩放或调整大小。谢谢。
回答by Ammar
/**
* @author
*
*/
public class ImagePanel extends JPanel {
private Image image = null;
public ImagePanel(String filename) {
this.image = new ImageIcon(filename).getImage();
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image, 0, 0, image.getWidth(null), image.getHeight(null), null);
}
/**
* @param args
*/
public static void main(String[] args) {
ImagePanel panel = new ImagePanel("resources/image.jpg");
JFrame frame = new JFrame("Frame");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.getContentPane().add(panel, BorderLayout.CENTER);
frame.setVisible(true);
}
}
回答by Ammar
You can override one of these methods:
您可以覆盖以下方法之一:
JComponent.paint(Graphics g)
JComponent.paintComponent(Graphics g)