【问题标题】:Make a Java JScrollpane only scroll vertically使 Java JScrollpane 仅垂直滚动
【发布时间】:2011-07-28 12:03:12
【问题描述】:

我希望我的整个 JFrame 垂直滚动。

我添加了以下代码,但它只创建了一个水平滚动条。

frame.setContentPane(new JScrollPane(new GradeQuickResource())); 

我想做相反的事情。我只想要一个垂直滚动条,没有水平滚动条。

我看过水平策略代码,但它似乎不起作用。我不知道该给它取什么名字。这段代码看起来像这样:

setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

谢谢!

【问题讨论】:

  • 您发布的代码没有意义,难怪它不起作用。您没有对滚动窗格的引用,那么如何设置水平滚动策略?发布您的 SSCCE (sscce.org) 来证明问题。

标签: java user-interface scrollbar jscrollpane


【解决方案1】:

AFIK: JScrollPane scrollableTa=new JScrollPane(targetComp); scrollableTa.setHorizontalScrollBar(null); 作品

【讨论】:

    【解决方案2】:

    试试this:

    public class AddScrollBarToJFrame {
    
        public static void main(String[] args) {
            JPanel panel = new JPanel();
            JScrollPane scrollBar = new JScrollPane(panel,
                JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
            JFrame frame = new JFrame("AddScrollBarToJFrame");
            frame.add(scrollBar);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setSize(400, 400);
            frame.setVisible(true);
        }
    }
    

    另外,你可以看看How to use a ScrollBar in both vertical and horizontal direction

    【讨论】:

    • 啊,我明白了!我在上面添加了引用。作为参考,我指定了HORIZONTAL_SCROLLBAR_NEVER 以匹配问题的要求。 +1,顺便说一句。
    • 对于已经创建好的窗格,可以使用这些方法:pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);pane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    猜你喜欢
    • 2011-06-14
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 2016-09-03
    • 2011-07-31
    • 2012-07-20
    相关资源
    最近更新 更多