ImageIcon实现了Icon接口,里头有一个公众方法叫getImage可以返回一个Image实例。
graphic在draw的方法中提供了对Image的操作方法,但是对于java控件(这里是JPanel和ImageIcon),api文档说明里头不鼓励直接调用paint,而是使用repaint来迫使控件重画。
在JPanel上直接可以add一个ImageIcon然后显示图片,有没有必要用graphic类再进行一次自己paint?可否进一步说明动机?
graphic在draw的方法中提供了对Image的操作方法,但是对于java控件(这里是JPanel和ImageIcon),api文档说明里头不鼓励直接调用paint,而是使用repaint来迫使控件重画。
在JPanel上直接可以add一个ImageIcon然后显示图片,有没有必要用graphic类再进行一次自己paint?可否进一步说明动机?
解决方案 »
- 条码打印不出来!或者说Barcode类打印不出来。!!!!!!!!!!
- 使用不着displa标签问题?java.lang.NoClassDefFoundError: org/apache/commons/collections/IteratorUtils
- 阶梯算法··
- 有谁用过hsqldb数据库吗?为什么order by name 取出的数据排序不正确呢,和其他数据库的排序方式不同
- JText 的内容判断 高人来啊!
- 怎样用int型 储存一个2进制的数
- 初学java,提个弱弱的问题
- java如何与sql server连结(有源程序最好了)?
- 我编的一个GUI程序,为什末在启动后需调整一下窗口大小才能显示,如何解决?
- 请教各位,怎样使Frame窗体居中,我怎么没找到他的属性呢?
- 网络服务的问题???服务器程序不能正常运行。很奇怪的。。。
- 我作了一个带JTree的Applet,但是有的服务器无法访问,向大家请教。
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*;
class MyFrame extends JFrame{
private JButton jButton1 = new JButton();
public void paint(Graphics g){
super.paint(g);
ImageIcon icon = new ImageIcon("E:/ITPClient/ITPClient/image/dljm.jpg");
g.drawImage(icon.getImage(),0,0,getWidth(),getHeight(),this);
}
public static void main(String[] args){
MyFrame f = new MyFrame();
f.setSize(200,200); f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e) {System.exit(0);}
}); f.show();
f.repaint();
} public MyFrame() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
jButton1.setBounds(new Rectangle(72, 49, 108, 31));
jButton1.setText("jButton1");
this.getContentPane().setLayout(null);
this.getContentPane().add(jButton1, null);
}
}
JLabel上可以直接加上图片。