【问题标题】:How to add a new tab to JTabbedPane with a JTextArea如何使用 JTextArea 将新选项卡添加到 JTabbedPane
【发布时间】:2019-05-16 18:58:06
【问题描述】:

单击新选项时,我想在tabbedpane 中创建新选项卡。但是新选项卡应该包括与我通过在netbeans中拖放创建的第一个选项卡中相同位置的文本区域的面板。我创建一个选项卡并希望该选项卡的新实例作为其他选项卡我该怎么做?

我正在创建一个记事本应用程序,我想在tabbedpane 中以选项卡的形式添加新文件的功能。我通过在 netbeans 中拖放创建了一个选项卡。但是当单击新选项时,我不知道如何在新选项卡中使用此实例。

//This is the code to create new panel but it is not working 
int i= 1;
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt)
{                                           
    JPanel jp = new JPanel();
    jp = jPanel1; // jPanel1 is the panel created by drag and drop.
    // i cantains text area.
    jTabbedPane1.addTab("untitled"+i,jp);   
    i++;
}   

我希望应用程序创建新选项卡作为在 netbeans 或 dev 等中创建的选项卡。

【问题讨论】:

标签: java swing jtabbedpane


【解决方案1】:
jp = jPanel1; // jPanel1 is the panel created by drag and drop.

您不能共享组件。 Swing 组件只能有一个父组件。

所以你需要创建一个新的 JPanel 实例和一个新的 JTextArea 实例。

JTextArea textArea = new JTextArea(5, 20);
JPanel panel = new JPanel( new BorderLaout() );
panel.add( textArea );
jTabbedPane1.addTab("untitled"+i, panel);  

现在文本区域将填满选项卡式窗格中的可用空间。

如果您只需要选项卡上的文本区域,则不需要 JPanel。只需将新文本区域添加到选项卡式窗格即可。

【讨论】:

    【解决方案2】:
     JPanel jp1 = new JPanel();
       JTextArea ta1 = new JTextArea();  
       ta1.setBounds(10, 10,100 , 100);
       jp1.add(ta1);
    
        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jp1);
       jp1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(   jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(ta1, javax.swing.GroupLayout.DEFAULT_SIZE, 501, Short.MAX_VALUE));
    
        jPanel1Layout.setVerticalGroup(         jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(ta1, javax.swing.GroupLayout.DEFAULT_SIZE, 321, Short.MAX_VALUE));
        jTabbedPane1.addTab("untitled",jp1);
    

    //这是我的问题的正确答案这是通过选项卡式窗格中的面板传递文本区域的方法

    【讨论】:

      猜你喜欢
      • 2014-03-12
      • 2014-04-15
      • 2013-07-06
      • 2017-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多