在我的程序中,一个用户应该在“对象”字段中填充任意长度的文本。 所以我想创建一个具有合理尺寸的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。 但即使它显示,滚动也不起作用。 为什么呢?
答案 0 :(得分:2)
删除以下行
body.add(oggetto, "2,2");
因为JTextArea
已添加JScrollPane
,因此无需再次添加。{/ p>