Java:JScrollPane:根据需要设置滚动条

圣诞假期一直在做学期projet,毕竟元旦过后就要答辩。在想办法放大缩小画出的图形时,用到了JScrollPane。具体来说就是把画地图的JPanel添加到JScrollPane里,然后再把JScrollPane添加到JFrame里。具体代码如下:

        JFrame frame = new JFrame();
        frame.setBounds(10, 10, 1360, 760);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setJMenuBar(MenuBar.createJMenuBar());//菜单栏
        frame.add(ToolBar.createToolBar(), BorderLayout.PAGE_START);//工具条
        frame.setLocationRelativeTo(null);
        //Icon
        frame.setIconImage(Toolkit.getDefaultToolkit().getImage("Images/globe.png"));

        //map
        MapPanel map = new MapPanel();
        //JScrollPane
        JScrollPane jsp = new JScrollPane(map);
        frame.add(jsp);

当放大地图时会出现滚动条,这时的滚动条是自动出现的,查了一些资料发现有三种设置滚动条的方法,分别是:自动出现,总是出现,总是隐藏。三种设置方法分别如下:

        //分别设置水平和垂直滚动条自动出现
        jsp.setHorizontalScrollBarPolicy(                
                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        jsp.setVerticalScrollBarPolicy(                
                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

        //分别设置水平和垂直滚动条总是出现
        jsp.setHorizontalScrollBarPolicy(       
                JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        jsp.setVerticalScrollBarPolicy(   
                JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

        //分别设置水平和垂直滚动条总是隐藏
        jsp.setHorizontalScrollBarPolicy(       
                JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        jsp.setVerticalScrollBarPolicy(             
                JScrollPane.VERTICAL_SCROLLBAR_NEVER);

你可能感兴趣的:(java)