글쓴이 :신미정 2000년 5월 06일 19:27:58
프레임창에 이미지 화일을 올리고 싶은데...
이 소스는 Canvas를 상속받은 BannerCanvas라는 클래스에 이미지를 띄우는 로직을 넣고, ShowFrame (Frame상속) 클래스에서 이미지를 띄웁니다....(제 계획은 이렇죠 -.-;;)
그런데, 생각되로 되질 않네요~
도와주세요~
//=========================================
// BannerCanvas.java
//=========================================
import java.applet.*;
import java.awt.*;
public class BannerCanvas extends Canvas
{
private Image bannerImg;
private int widthSize, heightSize;
public BannerCanvas( Image banner, int width, int height )
{
super();
bannerImg = banner;
widthSize = width;
heightSize = heightSize;
}
public void paint( Graphics g )
{
g.drawImage( bannerImg, 0, 0, widthSize, heightSize, this );
}
}
//============================================
// ShowFrame.java
//============================================
import java.awt.*;
public class ShowFrame extends Frame
{
TextArea ta= new TextArea(14, 60);
String grp;
String to;
String mes;
public ShowFrame(Image banner)
{
BannerCanvas bc;
bc = new BannerCanvas( banner, 450, 100 );
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
setLayout(gridbag);
c.fill = GridBagConstraints.BOTH;
c.weightx= 1.0;
c.weighty = 1.0;
c.gridwidth= (mes==null)?2:1;
c.gridx=0;
c.gridy=0;
gridbag.setConstraints(bc, c);
add(bc);
c.weightx= 0.0;
c.weighty = 0.0;
c.gridwidth=1;
c.gridx=0;
c.gridy=1;
c.fill= GridBagConstraints.VERTICAL;
c.anchor= GridBagConstraints.EAST;
c.gridx=1;
Button b= new Button(" Close ");
gridbag.setConstraints(b, c);
add(b);
resize(400, 300);
move(300, 300);
}
public boolean action(Event e, Object o)
{
if(o.equals(" 보내기 ")|| o.equals(" Close ")||o.equals(" OK "))
dispose();
return super.action(e,o);
}
}
//===========================================
// ShowImage.java
//===========================================
import java.applet.*;
import java.awt.*;
public class ShowImage extends Applet {
Button b= new Button("참가");
public void init()
{
Label l;
GridBagLayout gbl= new GridBagLayout();
setLayout(gbl);
GridBagConstraints c= new GridBagConstraints();
c.fill= GridBagConstraints.BOTH;
l=new Label("대화명:");
gbl.setConstraints(l, c);
add(l);
gbl.setConstraints(b, c);
add(b);
resize(300, 150);
}
public boolean action(Event e, Object s)
{
if(e.target==b)
{
Image banner = getImage(getCodeBase(), "running.gif");
ShowFrame sf = new ShowFrame(banner);
sf.show();
}
return super.action(e,s);
}
}
//===========================================
// index.html
//===========================================
<applet code='ShowImage' width='500' height='300' >
</applet>