2012-01-08 152 views
0

嗨,這裏是我滾動條的代碼。不幸的是它不起作用。怎麼會這樣?滾動條不起作用

text_area = new JTextArea(); 
text_area.setPreferredSize(new Dimension(250,150)); 
text_area.setLineWrap(true); 
scrollpane = new JScrollPane(text_area); 

當我插入一個文本,它比滾動條不出現的區域更長。

這裏是代碼:

public AziendaGUI() { 

    company = new Azienda(); 

    frame = new JFrame("Immobiliari s.p.a"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    view_list = new JButton("View Property"); 
    view_list.setActionCommand("view_list"); 
    view_list.addActionListener(this); 

    save_list = new JButton("Save List"); 
    save_list.setActionCommand("save_list"); 
    save_list.addActionListener(this); 

    text_area = new JTextArea(); 
    text_area.setPreferredSize(new Dimension(250,150)); 
    text_area.setLineWrap(true); 
    scrollpane = new JScrollPane(text_area); //Non funziona la scroll bar 

    grid = new GridBagLayout(); 
    pane = new JPanel(grid); 

    /* Set Constraints view_list button */ 
    grid.setConstraints(view_list, new GridBagConstraints(0,0,1,1,0.0,0.0,GridBagConstraints.WEST,GridBagConstraints.NONE,new Insets(5,5,5,5),0,0)); 
    pane.add(view_list); 

    /* Set Constraints save_list button */ 
    grid.setConstraints(save_list,new GridBagConstraints(1,0,1,1,0.0,0.0,GridBagConstraints.EAST,GridBagConstraints.NONE,new Insets(5,5,5,5),0,0)); 
    pane.add(save_list); 

    /* Set Constraint text area */ 
    grid.setConstraints(scrollpane, new GridBagConstraints(0,1,2,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,new Insets(5,5,5,5),0,0)); 
    pane.add(scrollpane); 

    frame.setLayout(new FlowLayout()); 
    frame.add(pane); 

    frame.pack(); 
    frame.setVisible(true); 
} 
+0

顯示在哪裏添加了'JComponent'(s)可能有幫助。 – 2012-01-08 11:35:51

+0

我發佈了整個代碼。 – Mazzy 2012-01-08 11:38:10

回答

2

設置JScrollPane的首選大小。

不是設置JTextArea的首選大小。

來源: 我稍微修改了源代碼,它工作。

+0

-1不,請不要設置XX大小_ever_(請參閱http://stackoverflow.com/questions/7229226/should-i-avoid-the-use-of-setpreferredmaximumminimumsize-methods-in-java-swi/7229519#7229519) – kleopatra 2012-01-08 12:51:24

+0

儘管您不想相信,但考慮到您在宣傳自己的答案,有時候可以爲組件設置首選大小,即可以保證字體/圖片樣式/大小可以接受對於給定的應用程序,在組件內「定期」配合。 沿着這些線有一個分離的社區論點,所以它取決於偏好,但無論如何,我不是建議最佳實踐,而是應該如何修復所提到的錯誤,同時保持預期的樣式屬性。 – 2012-01-08 13:16:28

+0

_when one can guarantee_--這就是其中的一個要點:你不能;-)關於分裂參數:當然,總是(從Swing/LayoutManager開始的近3個lustrums之前)總是有一定的阻力跟風。作爲個人決定,這是完美的。 – kleopatra 2012-01-08 13:37:00