2010-02-19 47 views
1

我想在运行时在按钮单击时在JTextPane中添加多个新的JTextArea。为此,我为我的JTextPane设置了Box布局,并使用mytextpane.add()方法添加了新组件。 但它取决于布局调整大小和重新定位,并不保留我分配的原始大小。另外当我向它添加更多的组件时,插入的组件会缩小,但是当我向JTextPane添加更多组件时,我想要一个滚动条来显示。请帮我解决这个问题。Java Swing - JTextPane中嵌套组件(JTextArea)的问题

+0

公共类TestPane延伸javax.swing.JFrame中{ /**创建新形式TestPane */ 公共TestPane(){ 的initComponents(); } 私人无效jButton1ActionPerformed(EVT java.awt.event.ActionEvent中){// TODO添加处理代码在这里: jTextPane1.insertComponent(新的JTextArea( “您好我是madhvi”)); jTextPane1.revalidate(); } /** * @参数ARG游戏命令行参数 */ 公共静态无效主要(字符串ARGS []){ 了java.awt.EventQueue.invokeLater(新的Runnable(){ 公共无效运行(){ 新测试 – Nilesh 2010-02-19 06:54:09

+0

嗨camickr,我已经完成了你和它的工作正确,但我现在想要的唯一的事情是每次我想插入新的组件,我怎么做到这一点?和我的jtextArea应该采取与我的JtextPane相同的宽度。 – Nilesh 2010-02-19 06:56:34

回答

1

通常您将组件添加到JPanel,所以我不确定您为什么试图将它们添加到JTextPane中。基本代码:

panel.add(someComponent); 
panel.revalidate(); 

但是,如果你真的试图将它们添加到JTextPane中,那么你应该使用的JTextPane的insertComponent()方法。

如果您需要更多帮助,请发送您的SSCCE显示问题。

+0

请帮助我camickr – Nilesh 2010-02-19 08:42:06

0

我怀疑JTextPane是否应该用于此目的的组件。 JTextPane适合于当你想添加一个多行文本编辑界面到你的UI (比如嵌入标记编辑器)。可能是JScrollPane会更好地满足您的需求。