为什么我的JScrollPane开小?

时间:2014-10-11 16:01:29

标签: jscrollpane sizing

我的JScrollPane打开但非常小。我已经尝试在JTextArea和JScrollPane上使用setPreferredSize,但是当我将JScrollPane添加到我的FlowLayout面板时,它仍然非常小。如果没有JScrollPane,我的JTextArea将打开正确的大小。使用JScrollPane,我得到一个非常小的JTextArea。此外,尝试setBorder只会导致我的程序挂起。任何帮助,将不胜感激。 (我正在使用Netbeans 8.0.1)

代码取消:

    // Create the array manipulator display using JTextArea
    JTextArea display = new JTextArea(5, 40);

    //private final JScrollPane displayScroller;
    JScrollPane displayScroller = new JScrollPane();

    // Create arrays for the dimensions of the buttons and displays
    int[] dimW ={300, 45, 100, 90, 190, 240, 500};
    int[] dimH = {35, 40, 10};

    // Declare and initialize the dimensions for the components
    Dimension displayDimension = new Dimension(dimW[1], dimH[0]);

     // Establish variable for Window and Panel Layout
    FlowLayout f1 = new FlowLayout(FlowLayout.CENTER);

     row[0] = new JPanel();

     row[0].setLayout(f1);

     // Create Array Manipulator display area
    display.setFont(font);
    display.setEditable(false);
    display.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
    display.setPreferredSize(displayDimension);
    display.setLineWrap(true);
    display.setWrapStyleWord(true);

    // Create display area scroller
    displayScroller = new JScrollPane(display);
    displayScroller.setPreferredSize(displayDimension);

    row[0].add(displayScroller);
    add(row[0]);

1 个答案:

答案 0 :(得分:0)

我明白了。我看到我的setPreferredSize选项非常小,这就是JScrollPane开小的原因。我的JTextArea使用了相同的displayDimension,但是当我创建JTextArea时,我为JTextArea建立了一个更大的大小。由于某些未知原因,我的JTextArea不接受较新的setPreferredSize并且正在维护实例化期间建立的大小。我使用;

调整了我的JScrollPane的大小
  displayScroller.setPreferredSize(new Dimension(640,90)); 

现在工作正常。