public class Test04 {
BufferedImage image = new BufferedImage(535,536,BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics(); //获取画笔
private class MyPanel extends Canvas{
public void paint(Graphics g){
g.drawImage(image,0,0,null); // 这里绘制图片
}
}
public void init(){
MyPanel myPanel = new MyPanel();
myPanel.setSize(535,536);
JFrame jFrame = new JFrame("新的窗口");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.pack();
try {
image = ImageIO.read(new File("src/image1/board.jpg"));//棋盘
} catch (IOException e) {
e.printStackTrace();
}
g.setColor(Color.GREEN);
g.drawLine(0,0,500,1000); //这里画的线在图片上无法显示
jFrame.add(myPanel);
jFrame.setSize(1000,1000);
jFrame.setVisible(true);
}
public static void main(String[] args) {
new Test04().init();
}
}
无法显示画出的直线
将获取画笔的代码移到这里之后
不需要继承Canvas,直接用JPanel就可以了。