如何去掉ScrollPane水平滚动条?

时间:2023-01-26 22:48:50
我将JList放入scrollPane中,希望即使内容横向显示不全,也不出现滚动条,试了一下scrollPane.getHorizontalScrollBar().setVisible(false);
没有用,应该如何才能去掉水平滚动条呢?

5 个解决方案

#1


我写的测试文件是
import javax.swing.*;
import java.awt.*;
public class wd{
public static void main(String[] args){
JFrame f=new JFrame("window");
String[] s={"呵呵xixihahahah","嘿嘿","我爱你","小宝宝","sdf","sdf","sdf","sdf","sdf","sdf","sdf"};
JScrollPane jsp=new JScrollPane();
JList jl=new JList(s);
jsp.getViewport().add(jl);
f.getContentPane().add(jsp);
f.getContentPane().setLayout(new FlowLayout());
f.setSize(200,300);
f.setVisible(true);
}
}
运行可以看出来,JScrollPane默认是有纵向的滑动条,行条没有纵向的滑动条。
有问题再讨论把

#2


这是因为你的程序中没有设置JList的宽度,其宽度随最长内容而变化。我的程序中用setBounds限制了JList的大小,因此,会自动出现横向的滚动条。谁有办法帮帮我啊,很急的!谢谢了!

#3


半天了,没人知道吗?请帮帮忙吧!

#4


setHorizontalScrollBarPolicy(int policy)

#5


jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

#1


我写的测试文件是
import javax.swing.*;
import java.awt.*;
public class wd{
public static void main(String[] args){
JFrame f=new JFrame("window");
String[] s={"呵呵xixihahahah","嘿嘿","我爱你","小宝宝","sdf","sdf","sdf","sdf","sdf","sdf","sdf"};
JScrollPane jsp=new JScrollPane();
JList jl=new JList(s);
jsp.getViewport().add(jl);
f.getContentPane().add(jsp);
f.getContentPane().setLayout(new FlowLayout());
f.setSize(200,300);
f.setVisible(true);
}
}
运行可以看出来,JScrollPane默认是有纵向的滑动条,行条没有纵向的滑动条。
有问题再讨论把

#2


这是因为你的程序中没有设置JList的宽度,其宽度随最长内容而变化。我的程序中用setBounds限制了JList的大小,因此,会自动出现横向的滚动条。谁有办法帮帮我啊,很急的!谢谢了!

#3


半天了,没人知道吗?请帮帮忙吧!

#4


setHorizontalScrollBarPolicy(int policy)

#5


jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);