将JScrollPane添加到JTextArea

时间:2014-07-24 16:26:56

标签: java swing jpanel jscrollpane jtextarea

在我的程序中,一个用户应该在“对象”字段中填充任意长度的文本。 所以我想创建一个具有合理尺寸的JTextArea,并使用相关的JSrollPane来读取所有插入的文本,如果它很长的话。这就是我所做的:

    body.add(new JLabel("OGGETTO"), "1,2");

    JTextArea oggetto = new JTextArea(5,20);
    oggetto.setOpaque(true);
    oggetto.setBackground(Color.cyan);

    Border borderOgg = BorderFactory.createLineBorder(Color.BLACK);
    oggetto.setBorder(BorderFactory.createCompoundBorder(borderOgg,
            BorderFactory.createEmptyBorder(1, 1, 1, 1)));

    oggetto.setLineWrap(true);
    oggetto.setWrapStyleWord(true);

    JScrollPane scroll1 = new JScrollPane(oggetto);
    scroll1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    body.add(scroll1,"3,2");

    body.add(oggetto, "2,2");

其中body是JPanel,其布局为TableLayout。 但即使它显示,滚动也不起作用。 为什么呢?

1 个答案:

答案 0 :(得分:2)

删除以下行

body.add(oggetto, "2,2");

因为JTextArea已添加JScrollPane,因此无需再次添加。{/ p>