2014-10-11 83 views
0

我的JScrollPane打開但非常小。我曾嘗試在JTextArea和JScrollPane上使用setPreferredSize,但仍然在將JScrollPane添加到我的FlowLayout面板時,它會打開很小。沒有JScrollPane,我的JTextArea會打開到正確的大小。使用JScrollPane,我得到一個非常小的JTextArea。另外,試圖setBorder只會導致我的程序掛起。任何幫助,將不勝感激。 (我使用NetBeans 8.0.1)爲什麼我的JScrollPane打開很小?

典通氣管:

// 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]); 

回答

0

我想通了。我看到我的setPreferredSize選項非常小,這就是爲什麼JScrollPane打開很小。我的JTextArea使用相同的displayDimension,但在創建JTextArea時,我爲JTextArea創建了更大的尺寸。由於某些未知原因,我的JTextArea不接受更新的setPreferredSize,並且保持實例化期間建立的大小。我調整了我的JScrollPane的大小,

displayScroller.setPreferredSize(new Dimension(640,90)); 

現在工作正常。