swing中有没有操作图片的对象呢(比如说在JFrame中加一个图片),难道非要用到awt吗,但是awt不能自动刷新啊!
大家讨论一下吧,看看你们都是怎么做的。

解决方案 »

  1.   

    java确实没有显示图片的控件,一直用JLabel来显示图片
      

  2.   

    如果想在swing中做一些更复杂的图片操作该怎么办呢。
    你们都是怎么得到自己的image对象的
    Image是个抽象类!
      

  3.   

    这是我胡乱弄得,和我自己的效果(图片作为Frame的背景)还有距离,不知道对大家有没有用,还望高手指教
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import javax.swing.*;public class TestFrame extends JFrame {
    Image img,head;
    BufferedImage bi,bh ;
    //MediaTracker tracker; public TestFrame() {
    super();
    this.setBounds(50,50,410,401);
    img = Toolkit.getDefaultToolkit().getImage(TestFrame.class.getResource("bg02.jpg"));
    head = Toolkit.getDefaultToolkit().getImage(TestFrame.class.getResource("bg01.jpg")); bi = new BufferedImage(410, 401,
    BufferedImage.TYPE_INT_RGB);
    Graphics2D biContext = bi.createGraphics();
    biContext.drawImage(img, 0, 0, null);
    bh = new BufferedImage(410, 35,
    BufferedImage.TYPE_INT_RGB);
    Graphics2D bhContext = bh.createGraphics();
    bhContext.drawImage(img, 0, 0, null);

    }
    public void paint(Graphics g)
    {
    super.paint(g);
    Graphics2D g2=(Graphics2D)g;
    g2.setColor(Color.BLUE);
    g2.drawImage(img,0,30,this);
    g2.drawImage(head,0,0,this);

    }
    private static void createAndShowGUI() {
    //Make sure we have nice window decorations.
    JFrame.setDefaultLookAndFeelDecorated(true);
    TestFrame testframe = new TestFrame();
    testframe.show();

    } public static void main(String[] args) {
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    createAndShowGUI();
    }
    });
    }
    }
    注:bg01.jpg、bg02.jpg要和class放在一个目录下