java swing如何将JScrollPane限制为仅垂直

时间:2014-02-15 18:18:13

标签: java

看看你是否可以提供帮助。

使用JScrollPane时,我需要将滚动限制为仅垂直。

请记住:不使用HORIZONTAL_SCROLLBAR_​​NEVER禁用水平滚动条,它只是禁用水平。我需要的是组件不应该横向超出窗口。

2 个答案:

答案 0 :(得分:1)

首先我建议您查看一下。

http://www.java-tips.org/java-se-tips/javax.swing/how-to-use-a-scrollbar-in-both-vertical-and-horizontal-dire.html

你也可以尝试这些代码行:

public class AddScroll
  {

  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);
    }
  }

答案 1 :(得分:0)

将其添加到JScrollPane中的容器:

@Override
public java.awt.Dimension getPreferredSize() {

    int h = super.getPreferredSize().height;
    int w = getParent().getSize().width;
    return new java.awt.Dimension(w, h);
}