我是java新手,我正在创建一个applet。我遇到了一些问题,我无法使用任何绘图功能绘制任何东西。我知道我的代码并不完美但我会感激任何帮助。
这是我的代码:
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Color;
public class CardsJavaProgram extends Applet {
public void init(){
this.setBackground( Color.blue );
}
public void paint( Graphics screen ){
int x = 10;
int y = 10;
int x2 = 10;
int y2 = 110;
Image c1 = getImage ( getDocumentBase (), "cards/c1.gif" );
Image c2 = getImage ( getDocumentBase (), "cards/c2.gif" );
Image c3 = getImage ( getDocumentBase (), "cards/c3.gif" );
Image c4 = getImage ( getDocumentBase (), "cards/c4.gif" );
Image c5 = getImage ( getDocumentBase (), "cards/c5.gif" );
Image c6 = getImage ( getDocumentBase (), "cards/c6.gif" );
Image c7 = getImage ( getDocumentBase (), "cards/c7.gif" );
Image c8 = getImage ( getDocumentBase (), "cards/c8.gif" );
Image c9 = getImage ( getDocumentBase (), "cards/c9.gif" );
Image c10 = getImage ( getDocumentBase (), "cards/c10.gif" );
Image cj = getImage ( getDocumentBase (), "cards/cj.gif" );
Image cq = getImage ( getDocumentBase (), "cards/cq.gif" );
Image ck = getImage ( getDocumentBase (), "cards/ck.gif" );
Image h1 = getImage ( getDocumentBase (), "cards/h1.gif" );
Image h2 = getImage ( getDocumentBase (), "cards/h2.gif" );
Image h3 = getImage ( getDocumentBase (), "cards/h3.gif" );
Image h4 = getImage ( getDocumentBase (), "cards/h4.gif" );
Image h5 = getImage ( getDocumentBase (), "cards/h5.gif" );
Image h6 = getImage ( getDocumentBase (), "cards/h6.gif" );
Image h7 = getImage ( getDocumentBase (), "cards/h7.gif" );
Image h8 = getImage ( getDocumentBase (), "cards/h8.gif" );
Image h9 = getImage ( getDocumentBase (), "cards/h9.gif" );
Image h10 = getImage ( getDocumentBase (), "cards/h10.gif" );
Image hj = getImage ( getDocumentBase (), "cards/hj.gif" );
Image hq = getImage ( getDocumentBase (), "cards/hq.gif" );
Image hk = getImage ( getDocumentBase (), "cards/hk.gif" );
Image d1 = getImage ( getDocumentBase (), "cards/d1.gif" );
Image d2 = getImage ( getDocumentBase (), "cards/d2.gif" );
Image d3 = getImage ( getDocumentBase (), "cards/d3.gif" );
Image d4 = getImage ( getDocumentBase (), "cards/d4.gif" );
Image d5 = getImage ( getDocumentBase (), "cards/d5.gif" );
Image d6 = getImage ( getDocumentBase (), "cards/d6.gif" );
Image d7 = getImage ( getDocumentBase (), "cards/d7.gif" );
Image d8 = getImage ( getDocumentBase (), "cards/d8.gif" );
Image d9 = getImage ( getDocumentBase (), "cards/d9.gif" );
Image d10 = getImage ( getDocumentBase (), "cards/d10.gif" );
Image dj = getImage ( getDocumentBase (), "cards/dj.gif" );
Image dq = getImage ( getDocumentBase (), "cards/dq.gif" );
Image dk = getImage ( getDocumentBase (), "cards/dk.gif" );
Image s1 = getImage ( getDocumentBase (), "cards/s1.gif" );
Image s2 = getImage ( getDocumentBase (), "cards/s2.gif" );
Image s3 = getImage ( getDocumentBase (), "cards/s3.gif" );
Image s4 = getImage ( getDocumentBase (), "cards/s4.gif" );
Image s5 = getImage ( getDocumentBase (), "cards/s5.gif" );
Image s6 = getImage ( getDocumentBase (), "cards/s6.gif" );
Image s7 = getImage ( getDocumentBase (), "cards/s7.gif" );
Image s8 = getImage ( getDocumentBase (), "cards/s8.gif" );
Image s9 = getImage ( getDocumentBase (), "cards/s9.gif" );
Image s10 = getImage ( getDocumentBase (), "cards/s10.gif" );
Image sj = getImage ( getDocumentBase (), "cards/sj.gif" );
Image sq = getImage ( getDocumentBase (), "cards/sq.gif" );
Image sk = getImage ( getDocumentBase (), "cards/sk.gif" );
Image [] cards = new Image [ 52 ];
cards [ 0 ] = c1;
cards [ 1 ] = c2;
cards [ 2 ] = c3;
cards [ 3 ] = c4;
cards [ 4 ] = c5;
cards [ 5 ] = c6;
cards [ 6 ] = c7;
cards [ 7 ] = c8;
cards [ 8 ] = c9;
cards [ 9 ] = c10;
cards [ 10 ] = cj;
cards [ 11 ] = cq;
cards [ 12 ] = ck;
cards [ 13 ] = h1;
cards [ 14 ] = h2;
cards [ 15 ] = h3;
cards [ 16 ] = h4;
cards [ 17 ] = h5;
cards [ 18 ] = h6;
cards [ 19 ] = h7;
cards [ 20 ] = h8;
cards [ 21 ] = h9;
cards [ 22 ] = h10;
cards [ 23 ] = hj;
cards [ 24 ] = hq;
cards [ 25 ] = hk;
cards [ 26 ] = d1;
cards [ 27 ] = d2;
cards [ 28 ] = d3;
cards [ 29 ] = d4;
cards [ 30 ] = d5;
cards [ 31 ] = d6;
cards [ 32 ] = d7;
cards [ 33 ] = d8;
cards [ 34 ] = d9;
cards [ 35 ] = d10;
cards [ 36 ] = dj;
cards [ 37 ] = dq;
cards [ 38 ] = dk;
cards [ 39 ] = s1;
cards [ 40 ] = s2;
cards [ 41 ] = s3;
cards [ 42 ] = s4;
cards [ 43 ] = s5;
cards [ 44 ] = s6;
cards [ 45 ] = s7;
cards [ 46 ] = s8;
cards [ 47 ] = s9;
cards [ 48 ] = s10;
cards [ 49 ] = sj;
cards [ 50 ] = sq;
cards [ 51 ] = sk;
screen.drawImage( getImage ( getDocumentBase (), "cards/c1.gif" ), 100, 100, this );
screen.drawImage( getImage ( getDocumentBase (), "cards/c1.gif" ), 10, 10, this );
screen.drawImage( getImage ( getDocumentBase (), "cards/c1.gif" ), 50, 50, this );
screen.drawString( " test ", 10, 10, this );
/*for (int i = 0; i < 4; i++){
screen.drawImage (cards[( int ) ( float ) Math.random () * 52 - 1], x, y, this);
x = x + 5;
}
for (int i = 0; i < 4; i++){
screen.drawImage (cards [( int ) ( float ) ( Math.random () ) * 52 - ( int ) ( 1 )], x2, y2, this);
x = x + 10;
}*/
}
}
我创建了一个索引,所有文件都在正确的位置。
答案 0 :(得分:3)
Image c1 = getImage ( getDocumentBase (), "cards/c1.gif" );
这些行在paint(Graphics)
方法中。永远不要尝试在油漆中进行I / O或其他耗时的任务(比如加载一副“满满的图像”)!
图像应声明为类属性(在任何方法之外声明),如下所示:
Image c1;
然后加载到init()
。
c1 = getImage ( getDocumentBase (), "cards/c1.gif" );
答案 1 :(得分:1)
我建议您修复代码以避免硬编码值。
你正在扩展Applet类,它定义了一个paint方法本身,所以你必须首先使用super.paint(screen)
调用基础paint方法,我还建议你检查一下你是否真的加载了你的图像到了那儿。
此外,applet的一个非常常见的错误是没有加载类,所以看看Java控制台是否有任何加载程序错误,作为建议,你可以将它作为Frame应用程序并翻译它稍后到了Applet。
答案 2 :(得分:0)
Here is the complete code to display the image
Kindly refer through it
/*Arpana*/
import java.awt.*;
import java.applet.*;
/*
<applet code="Img" width=500 height=500>
</applet>
*/
public class Img extends Applet
{
Image image;
public void init()
{
image=getImage(getCodeBase(),"Appu.jpg");
}
public void paint(Graphics g)
{
g.drawImage(image,0,0,this);
}
}
答案 3 :(得分:-1)
Image picture;
picture = getImage(getDocumentBase(),"sonoo.jpg");
g.drawImage(picture, 30,30, this);