在没有Gui编辑器的情况下向Gui添加3个jTextArea
问题描述:
我已经完成了一名学生的工作,我的任务是为它编写一个自动文本编辑接近完成的任务。我必须将3或4个jTextAreas
添加到gui中。问题在于他如何编写代码,我只能添加一个jTextArea
。在没有Gui编辑器的情况下向Gui添加3个jTextArea
这是怎么样了,它看起来像1 Jtextarea
:
而且这是我希望它有它:
这里是疥癣的代码键盘布孔布局:
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);
答
创建一个水平框并在水平框中输入3个文本框。
Box hBox= Box.createHorizontalBox();
hBox.add(TextArea1);
hBox.add(TextArea2);
hBox.add(TextArea3);
为什么不使用GUI editor.Tools,目的是使程序员的任务很容易,为什么在90年代的代码时,你可以快速的代码并节省时间。 –
您可以创建一个jpanel,将textarea添加到它,然后将此面板添加到北面,而不是将您的textarea添加到北面。 – Berger
因为学生拜托我没有gui编辑器写它,因为我知道你不能启用后编辑器? – QFireball