我在论坛里搜到的图形代码有标签或按钮的加了
image=getImage(getDocumentBase(),"3.jpg");
这句话就出错,要不就什么也不处来,灰版一块
希望能告诉我怎么做
image=getImage(getDocumentBase(),"3.jpg");
这句话就出错,要不就什么也不处来,灰版一块
希望能告诉我怎么做
解决方案 »
- if(pl.getProduct().getPno()==pro.getPno())为啥会是false
- struts 是不是對servlet進行的封裝,方便使用的?
- 初学Java就被难住了,Java怎么会是这样的? 问题二
- 如何获得系统时间
- !!!运行applet时出现java.security.AccessControlException: access denied ?????????!!!!!!1
- 知道邮箱名如何用JAVA得到邮件服务器的IP地址?
- java数据库日期比较问题
- 为什么组件没有加载
- 谁能告诉我JDK有没有源码!
- 我的JInternalFrame为什么不出来????45分!!!!!!!!!!!
- 请教:两个类型转换该怎么理解?
- 难道没有人懂这个?
JLabel label;
public void init() {
pane = new JPanel();
try{
label= new JLabel(new ImageIcon(new URL(getCodeBase(),"3.jpeg")));
} catch(MalformedURLException e){
e.printStackTrace();
}
this.add(pane);
pane.add(label);
}
import java.applet.*;
import javax.swing.*;
public class app extends JApplet {
JPanel pane = new JPanel();
JLabel label = new JLabel(new ImageIcon(getImage(getCodeBase(),"3.jpeg")));
public app() {
}
public void init() {
this.add(pane);
pane.add(label);
}
}
是不是应该给出绝对路径?
既然你前面是对的,那这样改改应该是可行的:
import java.awt.*;
import java.applet.*;
public class app extends Applet{
Image image;
public void init()
{
image=getImage(getDocumentBase(),"3.jpg");
//添加JLabel
JLabel label = new JLabel(new ImageIcon(image)); }
public void paint(Graphics g)
{
g.drawImage(image,150,150,this);
}
}
import java.awt.*;
import java.applet.*;
import javax.swing.*;
public class demo extends JApplet {
Image image;
public void init() {
image=getImage(getDocumentBase(),"3.jpg");
JPanel pane = new JPanel(); //添加JLabel
JLabel label = new JLabel(new ImageIcon(image));
//JLabel label = new JLabel("aaaaaa");
this.getContentPane().add(pane);
pane.add(label);
}
}
但用eclipse生成的代码就是不行import java.awt.*;
import javax.swing.*;
/*
* Created on 2003-1-10
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*//**
* @author Anbol
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class app extends JApplet { private javax.swing.JPanel jContentPane = null; private javax.swing.JLabel jLabel = null;
Image image;
/**
* This is the default constructor
*/
public app() {
super();
init();
}
/**
* This method initializes this
*
* @return void
*/
public void init() {
//image=getImage(getDocumentBase(),"3.jpg");
System.out.println(getCodeBase().toString());
this.setSize(300, 200);
this.setContentPane(getJContentPane());
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private javax.swing.JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new javax.swing.JPanel();
jContentPane.setLayout(new java.awt.BorderLayout());
jContentPane.add(getJLabel(), java.awt.BorderLayout.CENTER);
}
return jContentPane;
}
/**
* This method initializes jLabel
*
* @return javax.swing.JLabel
*/
private javax.swing.JLabel getJLabel() {
if(jLabel == null) {
jLabel = new javax.swing.JLabel();
jLabel.setText("JLabel");
}
return jLabel;
}
}
不管怎么改运行小程序出错
java.lang.NullPointerException
at java.applet.Applet.getCodeBase(Applet.java:136)
at app.init(app.java:37)
at app.<init>(app.java:28)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:306)
at java.lang.Class.newInstance(Class.java:259)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:567)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:496)
at sun.applet.AppletPanel.run(AppletPanel.java:293)
at java.lang.Thread.run(Thread.java:536)