楼主,不好意思。借贵地问个问题,不知什么原因我不能发问。谢谢了请问constants是什么意思?怎么用?
下面这两个又是什么意思?
Constants.ONE_SECOND
Constants.FIVE_SECONDS
谢谢了

解决方案 »

  1.   

    把图片加在label上,然后用JScrollPane js =new JscrollPane(label)
    this.contentPane().add(js)就行了
      

  2.   

    对,JAVA SWING里,无论什么东西,都要放在CONTAINER里,如果想滚动,就必须要放在JSCROOLPANE 里.楼上的CODE是对的!
      

  3.   

    1. 你先创建一个JScrollPane对象 JScrollPane js =new JscrollPane();
    2. 把你乘放2000*2000的图的组件放到JScrollPane中 js.add(canvas);
    3. 把JScrollPane 加入到窗体中 frame.contentPane().add(js);JScrollPane 有两个构造方法:JScrollPane(), JScrollPane(component c)
      

  4.   

    没错,控件放进JScrollPane 就会自动滚动。
      

  5.   

    对不起, 我想知道的不是怎么把2000 * 2000 这么大的image显示出来, 而是怎么用java 2D画图, 然后通过滚动条把整个图片显示出来, 比如我在(2000, 2000)位置画一个Rectangel.Double(2000,2000,10,10), 然后要在程序中通过拖动滚动条看到这个矩形. 怎么做到呢?我试过在JPanel的Paint函数中画图, 然后在JFrame的构造函数中加入JScrollPane, 但并没有出现滚动条, 比如我像下面这么做, 怎能看到我画出的矩形呢import java.awt.*;
    import java.awt.geom.*;
    import javax.swing.*;public class VisualGraph extends JFrame{
      PaintPanel paintPanel;  public VisualGraph(){
        super("Visual Graph");    getContentPane().add(new JScrollPane(new PaintPanel()));    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(690,530);
        setVisible(true);
      }
      
      public static void main(String[] args)
      {
        VisualGraph vg = new VisualGraph();
      }}class PaintPanel extends JPanel{
      public void paint(Graphics g){
        super.paint(g);    Graphics2D g2D = ( Graphics2D ) g;    g2D.draw(new Rectangle.Double(100,100,10,10));
        g2D.draw(new Rectangle.Double(2000,2000,10,10));
      }
    }
      

  6.   

    这样做可以    PaintPanel pp = new PaintPanel();
        pp.setPreferredSize(new Dimension(2030, 2030));
        JScrollPane sp = new JScrollPane();
        sp.getViewport().add(pp);
        getContentPane().setLayout(new BorderLayout());
        getContentPane().add(sp, BorderLayout.CENTER);   
      

  7.   

    这样做可以    PaintPanel pp = new PaintPanel();
        pp.setPreferredSize(new Dimension(2030, 2030));
        JScrollPane sp = new JScrollPane();
        sp.getViewport().add(pp);
        getContentPane().setLayout(new BorderLayout());
        getContentPane().add(sp, BorderLayout.CENTER);   
      

  8.   

    import java.awt.*;
    import javax.swing.*;
    import java.awt.geom.*;public class Test extends JFrame{
      public Test(){
        JPanel panel = new JPanel(){
          {
            this.setPreferredSize(new Dimension(2005,2005));
          }
          public void paintComponent(Graphics g){
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            Rectangle2D rec = new Rectangle2D.Double(0,0,2000,2000);
            g2.setPaint(Color.red);
            g2.draw(rec);
          }
        };    Container con = this.getContentPane();
        int v = JScrollPane.VERTICAL_SCROLLBAR_ALWAYS;
        int h = JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS;
        JScrollPane p = new JScrollPane(panel);
        con.add(p,BorderLayout.CENTER);
      }  public void show(){
        this.setTitle("A big picture");
        this.setSize(400,400);
        super.show();
      }  public static void main(String[] args){
        new Test().show();
      }
    }上面是我写的代码,已经测试过了。可以达到你要的效果。
    你自己运行一下看看。
      

  9.   

    this.setPreferredSize(new Dimension(2005,2005));这句话不能去掉,否则就看不到全部的矩形了。