import java.applet.*;
import java.awt.event.*;
import java.awt.*;public class K5 extends Applet implements ActionListener{
private Image image;
private int i_width,i_height,x,y;
private Panel panel,panel1;private Button button=new Button("Bigger");
private Button button1=new Button("Smaller");
private Button button2=new Button("恢复");
public void init(){
image=getImage(this.getDocumentBase(),"a/i.jpg");
x=i_width=image.getWidth(this);
y=i_height=image.getHeight(this);setLayout(new BorderLayout());
button.addActionListener(this);button1.addActionListener(this);button2.addActionListener(this);panel=new Panel();add(panel,"Center");panel1=new Panel(new GridLayout(1,3));panel1.add(button);panel1.add(button1);panel1.add(button2);add(panel1,"South");
}public void paint(Graphics g){
g.drawImage(image,0,0,x,y,this);
}
public void actionPerformed(ActionEvent e){}
}
import java.awt.event.*;
import java.awt.*;public class K5 extends Applet implements ActionListener{
private Image image;
private int i_width,i_height,x,y;
private Panel panel,panel1;private Button button=new Button("Bigger");
private Button button1=new Button("Smaller");
private Button button2=new Button("恢复");
public void init(){
image=getImage(this.getDocumentBase(),"a/i.jpg");
x=i_width=image.getWidth(this);
y=i_height=image.getHeight(this);setLayout(new BorderLayout());
button.addActionListener(this);button1.addActionListener(this);button2.addActionListener(this);panel=new Panel();add(panel,"Center");panel1=new Panel(new GridLayout(1,3));panel1.add(button);panel1.add(button1);panel1.add(button2);add(panel1,"South");
}public void paint(Graphics g){
g.drawImage(image,0,0,x,y,this);
}
public void actionPerformed(ActionEvent e){}
}
确定请贴出带有main方法的程序入口,以便我们帮助你解决问题。
做UI最好用AWT DESIGNER哇 会很方便 加图片也方便
import java.applet.*;
import java.awt.event.*;
import java.awt.*;public class K5 extends Applet implements ActionListener{
private Image image;
private int i_width,i_height,x,y;
private Panel panel,panel1;private Button button=new Button("Bigger");
private Button button1=new Button("Smaller");
private Button button2=new Button("恢复");
public void init(){
image=getImage(this.getDocumentBase(),"a/i.jpg");
x=i_width=image.getWidth(this);
y=i_height=image.getHeight(this);setLayout(new BorderLayout());
button.addActionListener(this);button1.addActionListener(this);button2.addActionListener(this);panel=new Panel();add(panel,"Center");panel1=new Panel(new GridLayout(1,3));panel1.add(button);panel1.add(button1);panel1.add(button2);add(panel1,"South");
}public void paint(Graphics g){
g.drawImage(image,0,0,x,y,this);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==button){x=x+4;y=y+4;g.drawImage(image,0,0,x,y,this);}
if(e.getSource()==button1){x=x-4;y=y-4;g.drawImage(image,0,0,x,y,this);}
if(e.getSource()==button2){g.drawImage(image,0,0,i_width,i_height,this);}}
}
public Image image=new Image("./a/i.bmp");
Panel1.java:8: java.awt.Image 是抽象的;无法对其进行实例化
public Image image=new Image("./a/i.bmp");
import java.awt.*;
import java.net.*;public class JTabbedTest extends Applet{
private Image image; public void init(){
try{
image = getImage(new URL("http://avatar.profile.csdn.net/5/2/8/2_ufofind.jpg"));
}catch (Exception e){
e.printStackTrace();
}
} public void paint(Graphics g){
g.drawImage(image, 0, 0, this);
}
}
9楼:可爱小猴,我用你的程序一样也不行
D:\>appletviewer jt.html
java.security.AccessControlException: access denied (java.net.SocketPermission a
vatar.profile.csdn.net resolve)
at java.security.AccessControlContext.checkPermission(AccessControlConte
xt.java:323)
at java.security.AccessController.checkPermission(AccessController.java:
546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1031)
at sun.awt.image.URLImageSource.<init>(URLImageSource.java:41)
at sun.applet.AppletImageRef.reconstitute(AppletImageRef.java:33)
at sun.misc.Ref.get(Ref.java:47)
at sun.applet.AppletViewer.getCachedImage(AppletViewer.java:377)
at sun.applet.AppletViewer.getImage(AppletViewer.java:372)
at java.applet.Applet.getImage(Applet.java:242)
at JTabbedTest.init(JTabbedTest.java:10)
at sun.applet.AppletPanel.run(AppletPanel.java:424)
at java.lang.Thread.run(Thread.java:619)
import java.applet.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;public class Panel1 extends Panel{
//private Toolkit tk=getToolkit();
public Image image=new ImageIcon("./a/i.bmp").getImage();
public int i_width,i_height,x,y;public void init(){x=i_width=image.getWidth(this);
y=i_height=image.getHeight(this);}
public void paint(Graphics g){
g.drawImage(image,0,0,x,y,this);
}}:\>appletviewer panel1.html
ava.lang.ClassCastException: Panel1 cannot be cast to java.applet.Applet
at sun.applet.AppletPanel.createApplet(AppletPanel.java:785)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:714)
at sun.applet.AppletPanel.run(AppletPanel.java:368)
at java.lang.Thread.run(Thread.java:619)
第一我把路径改了,第二我把图像换成了gif
余下的问题就是怎样实现图像的放大与缩小
import java.applet.*;
import java.awt.*;
import java.net.*;public class JTabbedTest extends Applet{
private Image image; public void init(){
try{
image = getImage(getDocumentBase(),"a\\i.gif");
}catch (Exception e){
e.printStackTrace();
}
} public void paint(Graphics g){
g.drawImage(image, 0, 0, this);
}
}
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
public class K5 extends Applet{
private Button button;
private Button button1;
private Button button2;
private Kp kp;
public void init() {
//Container contentPane = this.getContentPane();
//contentPane.setLayout(new BorderLayout());
setLayout(new BorderLayout()); kp = new Kp();//创建自定义面板对象
//contentPane.add(kp, BorderLayout.CENTER);
add(kp, BorderLayout.CENTER);
Panel btnPanel = new Panel();
btnPanel.setLayout(new FlowLayout());
button=new Button("Bigger");
btnPanel.add(button);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
kp.width+=5; //文字显示坐标增加10
kp.height+=5;
kp.repaint(); //刷新面板的显示
}
});
button1=new Button("Smaller");
btnPanel.add(button1);
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
kp.width-=5; //文字显示坐标增加10
kp.height-=5;
kp.repaint();//刷新面板的显示
}
});
button2=new Button("恢复");
btnPanel.add(button2);
button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
kp.width=kp.x;//图片显示宽增加10
kp.height=kp.y; //图片显示高增加10
kp.repaint(); //刷新面板的显示
}
});
//contentPane.add(btnPanel, BorderLayout.SOUTH);
add(btnPanel, BorderLayout.SOUTH);
}
}
import java.awt.*;
import javax.swing.*;public class Kp
extends Panel { String message = "面板上显示文字";
int xMessage = 20, yMessage = 80; //文字显示坐标
Image image;
int xImage = 20, yImage = 100; //图片显示坐标
int width = 300, height = 250; //图片显示宽高
int x=width,y=height;
public Kp() {
Toolkit tk = this.getToolkit();
image = tk.getImage("pic15\\a.jpg");
} public void paint(Graphics g) {
super.paint(g);
g.drawString(message, xMessage, yMessage); //显示文字
g.drawImage(image, xImage, yImage, width, height, this); //显示图片
} public Dimension getPreferredSize() {
return new Dimension(350, 400); //面板宽350、高400像素
}
}