如果我是用JDK开发,该怎么做?

解决方案 »

  1.   

    import javax.swing.*;
    ...
    ...
    JButton btn=new JButton("OK",image.gif);
      

  2.   

    谢谢两位的回答,还有一个问题,java.swing.*是不是只有在JDK1.3的版本里面才有?我用JDK1.2.1,总是出错
      

  3.   

    JButton btn=new JButton("OK",image.gif); 
    那么,上述image.gif的路径如何?
      

  4.   

    我用JButton btn=new JButton("OK",story_button_1.gif); 
    报错:undefined variable or class name:story_button_1.gif
    JButton btn=new JButton("OK",story_button_1.gif); 
                                 ^
      

  5.   

    ImageIcon o = new ImageIcon("w.jpg");
    JButton jb = new JButton("kkk",o);
      

  6.   

    应该是javax.swing.*; 注意不时java.swing.*;
      

  7.   

    还是有问题
    源程序:
    import java.awt.*;
    import java.applet.*;
    import javax.swing.*;
    public class TestGUI03 extends Applet{
         ImageIcon pic;
         private Frame f;
         private JButton b1;
         private Button b2;
         public void start(){
            TestGUI03 guiWindow=new TestGUI03();
            guiWindow.go();
         }
         public void go(){
            f=new Frame("Test EXAMPLE");
            f.setLayout(new FlowLayout());
            pic=new ImageIcon("pic.gif");
            JButton b1=new JButton("OK",pic);
            b2=new Button("Don't Press Me");
            f.add(b1);
            f.add(b2);
            f.pack();
            f.setVisible(true);
         }
    }编译能够通过,但是在用appletviewer运行的时候,出现:
    java.security.AccessControlException: access denied (java.io.FilePermission pic.
    gif read)
            at java.security.AccessControlContext.checkPermission(Compiled Code)
            at java.security.AccessController.checkPermission(Compiled Code)
            at java.lang.SecurityManager.checkPermission(Compiled Code)
            at java.lang.SecurityManager.checkRead(Compiled Code)
            at sun.awt.SunToolkit.getImageFromHash(SunToolkit.java:230)
            at sun.awt.SunToolkit.getImage(SunToolkit.java:244)
            at javax.swing.ImageIcon.<init>(ImageIcon.java:64)
            at javax.swing.ImageIcon.<init>(ImageIcon.java:83)
            at TestGUI03.go(TestGUI03.java:21)
            at TestGUI03.start(TestGUI03.java:16)
            at sun.applet.AppletPanel.run(Compiled Code)
            at java.lang.Thread.run(Thread.java:479)
    然后把源程序改为:
    import java.awt.*;
    import java.applet.*;
    import javax.swing.*;
    public class TestGUI03 extends Applet{
         ImageIcon pic;
         Image picture;
         private Frame f;
         private JButton b1;
         private Button b2;
         public void init(){
          picture=getImage(getDocumentBase(),
              "pic.gif");
         }
         public void start(){
            TestGUI03 guiWindow=new TestGUI03();
            guiWindow.go();
         }
         public void go(){
            f=new Frame("GUI EXAMPLE");
            f.setLayout(new FlowLayout());
            pic=new ImageIcon(picture);
            JButton b1=new JButton("OK",pic);
            b2=new Button("Don't Press Me");
            f.add(b1);
            f.add(b2);
            f.pack();
            f.setVisible(true);
         }
    }
    则抛出:
    java.lang.NullPointerException
            at javax.swing.ImageIcon.<init>(ImageIcon.java:124)
            at TestGUI03.go(TestGUI03.java:21)
            at TestGUI03.start(TestGUI03.java:16)
            at sun.applet.AppletPanel.run(Compiled Code)
            at java.lang.Thread.run(Thread.java:479)
      

  8.   

    public class TestGUI03 extends JApplet试试
      

  9.   

    [ImageButton.java] import java.awt.*;
     import java.awt.event.*;
     import java.awt.image.*;
     import java.net.*; public class ImageButton extends Canvas {
       protected ActionListener actionListener = null;
       int w,h;
       boolean clicked;
       boolean down;
       boolean enabled;
       Image UPimage;
       Image DOWNimage;
       Image disabledimage;   public ImageButton(URL up_b, URL down_b) {
         clicked=false;
         down=false;
         enabled=true;
         InitImage(up_b,down_b);
         setSize(w,h);
         addMouseListener(new ImageButtonMouseListener());
         addMouseMotionListener(new ImageButtonMouseMotionListener());
         }   public void InitImage(URL up, URL down) {
         MediaTracker tracker;
         try {
           UPimage = getToolkit().getImage(up);
           DOWNimage = getToolkit().getImage(down);
           tracker = new MediaTracker(this);
           tracker.addImage(UPimage,0);
           tracker.addImage(DOWNimage,1);
           tracker.waitForAll();
           } 
         catch (InterruptedException e) {
           e.printStackTrace();
           }
         disabledimage=createImage(new FilteredImageSource
           (UPimage.getSource(),new ImageButtonDisableFilter()));
         w=UPimage.getWidth(this);
         h=UPimage.getHeight(this);
         }   public void paint(Graphics g) {
         if (down) {
           g.drawImage(DOWNimage,0,0,this);
           } 
         else {
           if (enabled) {
             g.drawImage(UPimage,0,0,this);
             } 
           else {
             g.drawImage(disabledimage,0,0,this);
             }
           }
         }   public void setEnabled(boolean b) {
         enabled=b;
         repaint();
         }   public boolean isEnabled() {
         return (enabled);
         }   public void addActionListener(ActionListener l) {
         actionListener = 
            AWTEventMulticaster.add(actionListener,l);
         }
       public void removeActionListener(ActionListener l) {
         actionListener =
            AWTEventMulticaster.remove(actionListener, l);
         }   public class ImageButtonMouseListener extends MouseAdapter {
         public void mousePressed(MouseEvent e) {
           Point p = e.getPoint();
           if ((p.x < w)&&(p.y < h)&&(p.x > 0)&&(p.y > 0)&&(enabled==true)) {
             clicked=true;
             down=true;
             repaint();
             }
           }
         public void mouseReleased(MouseEvent e) {
           Point p = e.getPoint();
           if (down) {
             down=false;
             repaint();
             }
           if ((p.x < w)&&(p.y < h)&&(p.x > 0)&&(p.y > 0)&&(clicked==true)) {
             ActionEvent ae = 
               new ActionEvent(e.getComponent(),0,"click");
             if (actionListener != null) {
               actionListener.actionPerformed(ae);
               }
             }
           clicked=false;
           }
         }
       public class ImageButtonMouseMotionListener extends
           MouseMotionAdapter {
         public void mouseDragged(MouseEvent e) {
           Point p = e.getPoint();
           if ((p.x < w)&&(p.y < h)&&(p.x > 0)&&(p.y > 0)&&(clicked==true)) {
             if (down==false) {
               down=true;
               repaint();
               }
             } 
           else {
             if (down==true) {
               down=false;
               repaint();
               }
             }
           }
         }   public Dimension getPreferredSize() {
         return (new Dimension(UPimage.getWidth(this),
                 UPimage.getHeight(this)));
         }   public Dimension getMinimumSize() {
         return getPreferredSize();
         }   class ImageButtonDisableFilter extends RGBImageFilter {
          public ImageButtonDisableFilter() {
            canFilterIndexColorModel=true;
            }
          public int filterRGB(int x, int y, int rgb) {
            return (rgb & ~0xff000000) | 0x80000000;
            }
          }
       }
     
    [TestImageButton.java]  import java.awt.*;
     import java.awt.event.*;
     import java.applet.*;
     import java.net.*;
     public class TestImageButton extends Applet
       implements ActionListener,ItemListener {
       ImageButton ib;
       Checkbox c;     public void init() {
         setLayout(new FlowLayout());
         try {
           ib = new ImageButton
                   (new URL(getCodeBase(), "Gumby.gif"), 
                    new URL(getCodeBase(), "Gumbyblu.gif"));
           c = new Checkbox("disable");
           ib.addActionListener(this);
           c.addItemListener(this);
           add(ib);
           add(c);
           }
         catch (Exception e) {
           e.printStackTrace();
           }
         }   public void actionPerformed(ActionEvent e) {
         if (e.getSource() == ib) System.out.println("Click ImageButton");
         }   public void itemStateChanged(ItemEvent ie) {
         ib.setEnabled(!ib.isEnabled());
         }
       }