
Java在Swing中使用drawImage(Image,int,int,ImageObserver)画图不出现图案
代码如下:publicclass类名隐藏{JFrameJframe=newJFrame("标题隐藏");Containercontainer=Jframe.getCont...
代码如下:
public class 类名隐藏{
JFrame Jframe = new JFrame("标题隐藏");
Container container = Jframe.getContentPane();
JTextArea Jtextarea = new JTextArea();
public static void main(String[] args){
container.removeAll();
Jframe.setLayout(null);
CanvasPanel cp = p.new CanvasPanel();
cp.setBounds(0, 0, XOrYOfTheContainer, XOrYOfTheContainer);
cp.setFocusable(false);
Jtextarea.setBounds(0, 0, 100, 100);
Jtextarea.setOpaque(true);
Jtextarea.setFocusable(true);
Jtextarea.addKeyListener(new KeyListener() {
@Override
public void keyPressed(KeyEvent e) {
int E = e.getKeyCode();
switch (E) {
case KeyEvent.VK_W:
Player.setPlayerY(Player.getPlayerY() - steps);
break;
case KeyEvent.VK_A:
Player.setPlayerX(Player.getPlayerX() - steps);
break;
case KeyEvent.VK_S:
Player.setPlayerY(Player.getPlayerY() + steps);
break;
case KeyEvent.VK_D:
Player.setPlayerX(Player.getPlayerX() + steps);
break;
case KeyEvent.VK_F3:
addF3Screen();
break;
case KeyEvent.VK_F6:
System.gc();
break;
case KeyEvent.VK_ALT:
System.exit(0);
break;
case KeyEvent.VK_ESCAPE:
pause();
break;
}
Jtextarea.setText("");
}
@Override
public void keyReleased(KeyEvent e) {
// Nothing
}
@Override
public void keyTyped(KeyEvent e) {
}
});
container.add(cp);
container.add(Jtextarea);
}
public class CanvasPanel extends JPanel{
public static final long serialVersionUID = 1L;
public void paint(Graphics g){
super.paint(g);
try{
G.drawImage(ImageIO.read(new FileInputStream(图片路径绝对正确)),0,0,null);
}catch(Exception e){
e.printStackTrace();
}
}
}
} 展开
public class 类名隐藏{
JFrame Jframe = new JFrame("标题隐藏");
Container container = Jframe.getContentPane();
JTextArea Jtextarea = new JTextArea();
public static void main(String[] args){
container.removeAll();
Jframe.setLayout(null);
CanvasPanel cp = p.new CanvasPanel();
cp.setBounds(0, 0, XOrYOfTheContainer, XOrYOfTheContainer);
cp.setFocusable(false);
Jtextarea.setBounds(0, 0, 100, 100);
Jtextarea.setOpaque(true);
Jtextarea.setFocusable(true);
Jtextarea.addKeyListener(new KeyListener() {
@Override
public void keyPressed(KeyEvent e) {
int E = e.getKeyCode();
switch (E) {
case KeyEvent.VK_W:
Player.setPlayerY(Player.getPlayerY() - steps);
break;
case KeyEvent.VK_A:
Player.setPlayerX(Player.getPlayerX() - steps);
break;
case KeyEvent.VK_S:
Player.setPlayerY(Player.getPlayerY() + steps);
break;
case KeyEvent.VK_D:
Player.setPlayerX(Player.getPlayerX() + steps);
break;
case KeyEvent.VK_F3:
addF3Screen();
break;
case KeyEvent.VK_F6:
System.gc();
break;
case KeyEvent.VK_ALT:
System.exit(0);
break;
case KeyEvent.VK_ESCAPE:
pause();
break;
}
Jtextarea.setText("");
}
@Override
public void keyReleased(KeyEvent e) {
// Nothing
}
@Override
public void keyTyped(KeyEvent e) {
}
});
container.add(cp);
container.add(Jtextarea);
}
public class CanvasPanel extends JPanel{
public static final long serialVersionUID = 1L;
public void paint(Graphics g){
super.paint(g);
try{
G.drawImage(ImageIO.read(new FileInputStream(图片路径绝对正确)),0,0,null);
}catch(Exception e){
e.printStackTrace();
}
}
}
} 展开
展开全部
1、看看有没有异常
2、把super.paint(g);注释掉
3、检测图片格式和后缀是否对应,必要时用编辑工具另存一下。
2、把super.paint(g);注释掉
3、检测图片格式和后缀是否对应,必要时用编辑工具另存一下。
追问
三种都试过了。没用啊
2016-10-02
展开全部
只说明图片还没准备好
~~~
~~~
追问
图片绝对已经好了
追答
你是准备好了,但程序中没准备好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询