在我的程序中,一个用户应该用任意长度的文本填充“对象”字段。
因此,我想创建一个具有合理尺寸并带有关联的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
中添加了,所以无需再次添加。