2017-06-19 71 views
0

我已經完成了一名學生的工作,我的任務是爲它編寫一個自動文本編輯接近完成的任務。我必須將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

回答

0

創建一個水平框並在水平框中輸入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

相關問題