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

    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。
但是,即使显示了滚动条也不起作用。
为什么?

最佳答案

删除以下行

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


因为JTextArea已经在JScrollPane中添加了,所以无需再次添加。

07-28 00:29