回 帖 发 新 帖 刷新版面

主题:求助.修改程序,图形界面问题

public class Form extends JFrame{
   
    public Form(){
        super("guen mian ban");
     //   this.setSize(300,300);
       //this.setLocation(100,100);
        JPanel jp=new JPanel();
        JTextArea ja=new JTextArea(5,5);
        JScrollPane jsp=new JScrollPane(ja,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        jp.add(jsp);
        setContentPane(jp);
        jsp.setPreferredSize(new Dimension(250,250));
    }
public static void main(String[]args)
    {
        Form fm=new Form();
        fm.setVisible(true);
    }

}
///////下面是运行后出现异常的代码
Exception in thread "main" java.lang.IllegalArgumentException: invalid verticalScrollBarPolicy
    at javax.swing.JScrollPane.setVerticalScrollBarPolicy(JScrollPane.java:466)
    at javax.swing.JScrollPane.<init>(JScrollPane.java:258)
    at Form.Form.<init>(Form.java:26)
    at Form.Form.main(Form.java:33)
看不懂,请大家帮忙.

回复列表 (共2个回复)

沙发

JScrollPane
public JScrollPane(Component view,
                   int vsbPolicy,
                   int hsbPolicy)创建一个 JScrollPane,它将视图组件显示在一个视口中,视图位置可使用一对滚动条控制。滚动条策略指定滚动条在何时显示,例如,如果 vsbPolicy 为 VERTICAL_SCROLLBAR_AS_NEEDED,则只有在垂直查看无法完全显示时,垂直滚动条才显示。可用的策略设定在 setVerticalScrollBarPolicy(int) 和 setHorizontalScrollBarPolicy(int) 中列出。 

参数:
view - 将显示在滚动窗格视口中的组件
vsbPolicy - 指定垂直滚动条策略的一个整数
hsbPolicy - 指定水平滚动条策略的一个整数

vsbPolicy对应的有:
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS;
        JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED;
        JScrollPane.VERTICAL_SCROLLBAR_NEVER;
        
hsbPolicy对应的有:
        JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS;
        JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED;
        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER;

板凳

import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Form extends JFrame {

    public Form() {
        super("guen mian ban");
        this.setSize(300,300);
        //this.setLocation(400,400);
        JPanel jp = new JPanel();
        JTextArea ja = new JTextArea(5, 5);
        
        /*JScrollPane.VERTICAL_SCROLLBAR_ALWAYS;
        JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED;
        JScrollPane.VERTICAL_SCROLLBAR_NEVER;
        
        JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS;
        JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED;
        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER;*/
        
        
        JScrollPane jsp = new JScrollPane(ja,
                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        jp.add(jsp);
        setContentPane(jp);
        jsp.setPreferredSize(new Dimension(250, 250));
    }

    public static void main(String[] args) {
        Form fm = new Form();
        fm.setVisible(true);
    }

}

我来回复

您尚未登录,请登录后再回复。点此登录或注册