在没有Gui编辑器的情况下向Gui添加3个jTextArea

问题描述:

我已经完成了一名学生的工作,我的任务是为它编写一个自动文本编辑接近完成的任务。我必须将3或4个jTextAreas添加到gui中。问题在于他如何编写代码,我只能添加一个jTextArea在没有Gui编辑器的情况下向Gui添加3个jTextArea

这是怎么样了,它看起来像1 Jtextarea

enter image description here

而且这是我希望它有它:

enter image description here

这里是疥癣的代码键盘布孔布局:

  button = new CustomJButton[button_size]; 
      jPanel1 = new javax.swing.JPanel(); 
      jPanel2 = new javax.swing.JPanel(); 
      jTextArea = new javax.swing.JTextArea(); 

      // BorderLayout 
      bl = new java.awt.BorderLayout(); 
      this.setLayout(bl); 
      this.add(jTextArea, BorderLayout.NORTH); 
      Font font1 = new Font("SansSerif", Font.BOLD, 20); 
      jTextArea.setFont(font1); 
      jTextArea.setFocusable(false); 



      menuButtongbc = new GridBagConstraints(); 
      // vergrößert die Buttons in BEIDE Richtungen // HORIZONTAL/VERTICAL 
      menuButtongbc.fill = GridBagConstraints.BOTH; 
      menuButtongbc.insets = new Insets(1,1,1,1); 
      menuButtongbc.weightx = 1; 
      menuButtongbc.weighty = 1; 

      letterButtongbc = new GridBagConstraints(); 
      // vergrößert die Buttons in BEIDE Richtungen // HORIZONTAL/VERTICAL 
      letterButtongbc.fill = GridBagConstraints.BOTH; 
      letterButtongbc.insets = new Insets(1,1,1,1); 
      letterButtongbc.weightx = 1; 
      letterButtongbc.weighty = 1; 

      jPanel1.setLayout(new java.awt.GridBagLayout()); // Layout left side 
      jPanel2.setLayout(new java.awt.GridBagLayout()); // Layout right side 
    //****************************************************************************** 
    //  Button left Block/Buttonborder/Resize ButtonImage 
    //****************************************************************************** 
      int xVar = 0; // Hilfvariable für X und Y Zuordnung 
      int yVar = 0; // Hilfvariable für X und Y Zuordnung 

      for (int menuButtonArray = 0 ; menuButtonArray < 4 ; menuButtonArray++){ 
       CustomJButton a = new CustomJButton(); // a : Hilfsvariable 
       button[menuButtonArray] = a; 
       button[menuButtonArray].setFont(new Font("Arial", Font.PLAIN, 40)); 
       button[menuButtonArray].setBackground(backgroundColor); 
       button[menuButtonArray].setOpaque(true); // Test für MAC 
       button[menuButtonArray].setMinimumSize(new java.awt.Dimension(75, 75)); 
       button[menuButtonArray].setPreferredSize(new java.awt.Dimension(100, 100)); 
       button[menuButtonArray].setFocusable(false); 
       button[menuButtonArray].setBorder(BorderFactory.createLineBorder(Color.black, 4)); 

       menuButtongbc.gridx = xVar; // X und Y Zuweisung der Button im GridbagLayout 
       menuButtongbc.gridy = yVar; // X und Y Zuweisung der Button im GridbagLayout 
       xVar++; 
       if(xVar == 2){ yVar++ ; xVar = 0; } 

       jPanel1.add(button[menuButtonArray] , menuButtongbc); 
      } 

      add(jPanel1, java.awt.BorderLayout.LINE_START); //getContentPane(). 
    //****************************************************************************** 
    //        Array  // Right side 
    //****************************************************************************** 
      xVar = 0; 
      yVar = 0; 
      // ausgabe.length 
      for (int letterButtonArray = 4 ; letterButtonArray < 34 ; letterButtonArray++){ 
       CustomJButton a = new CustomJButton(); // a : Hilfsvariable 
       button[letterButtonArray] = a; 
       button[letterButtonArray].setFont(new Font("Arial", Font.PLAIN, Integer.parseInt(read[9]))); 
       button[letterButtonArray].setBackground(backgroundColor); 
       button[letterButtonArray].setOpaque(true); // Test für MAC 
       button[letterButtonArray].setMinimumSize(new java.awt.Dimension(20, 20)); 
       button[letterButtonArray].setPreferredSize(new java.awt.Dimension(100, 100)); 
       button[letterButtonArray].setBorder(new javax.swing.border. 
         SoftBevelBorder(javax.swing.border.BevelBorder.RAISED)); 
       button[letterButtonArray].setFocusable(false); 

       // X und Y Zuweisung der Button im GridbagLayout 
       letterButtongbc.gridx = xVar; 
       letterButtongbc.gridy = yVar; 
       xVar++; 
       if(xVar > 14){ yVar++ ; xVar = 0; } // 17/für Buttons in einem jPanel 
       jPanel2.add(button[letterButtonArray] , letterButtongbc); // jPanel2 
      } 
      add(jPanel2 , java.awt.BorderLayout.CENTER); // getContentPane(). 
      pack(); 

      // Berechnung der Position über der Taskleiste 
      Dimension frameSize = this.getSize(); 
      // BildschirmBreite - FensterBreite/2 
      setLocation((int)(screenSizeWidth - frameSize.width)/2 , 
      // BildschirmHöhe - FensterHöhe - TaskbarHöhe 
      screenSizeHeight - frameSize.height - taskbarSize); 
+0

为什么不使用GUI editor.Tools,目的是使程序员的任务很容易,为什么在90年代的代码时,你可以快速的代码并节省时间。 –

+0

您可以创建一个jpanel,将textarea添加到它,然后将此面板添加到北面,而不是将您的textarea添加到北面。 – Berger

+0

因为学生拜托我没有gui编辑器写它,因为我知道你不能启用后编辑器? – QFireball

创建一个水平框并在水平框中输入3个文本框。

Box hBox= Box.createHorizontalBox(); 
hBox.add(TextArea1); 
hBox.add(TextArea2); 
hBox.add(TextArea3); 
+0

这个很好,但对此有一个问题。我怎样才能把它们分开?我现在有3个,但他们看起来像只有一个,除非我chage的颜色一个 – QFireball

+0

请检查与hBox.add(Box.createHorizo​​ntalStrut(10));或仅Box.createHorizo​​ntalStrut(10);在2个组件/ TextArea之间。我认为这将起作用。 – Amit