2012-01-08 154 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