2014-02-27 110 views
0

我的代码不断生成空白图像,而不是使用pickAfile和消息选择的图片。我究竟做错了什么?将消息添加到图像java

当保存并编译图像后,我选择使用pickAFile文本应该出现的图像,但只生成一个空白窗口。我想我的身高参数有问题,但我不知道如何解决。该方法addMessage方法已经是影片的方法的一部分,所以我不认为我需要包括

public static void main (String[] args) 
{ 
    System.out.println("Begin Java Exection"); System.out.println(""); 

    // created the variable 
    Picture p; 

    p = new Picture(); 
    String filename; filename = FileChooser.pickAFile(); 
    Picture pict; 
    pict = new Picture (filename); 

    int height = p.getHeight(); 
    p.addMessage("Love Life",640,480); 

    p.show(); 

    filename = FileChooser.pickAFile(); 
    p.write (filename); 

    System.out.println(""); System.out.println("End Java Exection"); 
} 

采取了以下评论者回答,现在的图像显示,但该消息不是:

这里的新代码:

{ 
public static void main (String[] args) 

{ 
    System.out.println("Begin Java Exection"); System.out.println(""); 

    // created the variable 
    Picture pict; 

    pict = new Picture(); 
    String filename; filename = FileChooser.pickAFile(); 
    pict = new Picture (filename); 

    int height = pict.getHeight(); 
    pict.addMessage ("Love Life", 1200, height - 20); 

    pict.show(); 

     filename = FileChooser.pickAFile(); 
     pict.write (filename); 

    System.out.println(""); System.out.println("End Java Exection"); 
} 


{ 
}} 
+0

可以给你的问题增加一点描述。目前还不清楚你面临的问题。 –

+0

当保存并编译图像后,我选择使用pickAFile文本显示的图像,但只生成一个空白窗口。我想我的身高参数有问题,但我不知道如何解决。 addMessage方法已经是图片方法的一部分,所以我不认为我需要包括这个 – chlc

回答

2

它看起来这是API,我们不知道,但我看到一个简单的错误在这里:

Picture p; 
p = new Picture(); 

Picture pict; 
pict = new Picture (filename); 

p.addMessage("Hell is just a sauna.",640,480); 
p.show(); 
p.write (filename); 

你现在看到了吗?您有两个Picture的实例。 pict使用filename创建,但是p是您显示的那个。

+0

这有助于!但现在我的心不是文字显示:/ – chlc

+1

如果你的图片是[这一个](http://www2.cs.uic.edu/~i101/doc/Picture.html)有可能你的方法addMessage坐标应该是'20,高度20“,如果你想画在左下角。根据该文档,x是字符串的最左边位置(对于其他AWT/Swing坐标相同)。 IE可能会将它从图像的右侧拖出。 – Radiodef

+0

NVM谢谢你的工作!我调整了图像并显示文字!再次感谢! – chlc