如何创建用户可以输入大量文本的文本框

Dan*_*nMc 4 java swing

我目前正在做一个Java任务,作为一个计算机科学更新.作为该任务的一部分,我正在尝试创建一个用户可以编写UML代码的辅助框架,然后将其传递到我的主应用程序中,然后传递到类图中.

我坚持的一点是我放入这个辅助帧的JTextBox是我想要的大小,但是写入从中间开始,当它到达另一个时不会变成新行框架的大小.

这是目前正在发生的事情的形象:

输出图像]![我当前代码的输出

如果需要的话,这是我目前为这个课程编写的代码.

package classdesign;
import java.awt.*;

import javax.swing.*;

 public class ClassCreation extends JFrame {

private JFrame frame;
private JLabel instructionlabel;
private JTextField inputUML;
private JButton upButton;
private String Message;

 public void ClassCreation(){

   frame = new JFrame();
   frame.setSize(300, 400);
   frame.setLocationRelativeTo(null);
   frame.setVisible(true);
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setTitle("Class Design");

   JPanel CreationPanel = new JPanel();
   CreationPanel.setLayout(new BorderLayout());

   instructionlabel = new JLabel("Fill Class details in using UML");
   CreationPanel.add(instructionlabel,BorderLayout.NORTH);

   inputUML = new JTextField("",20);
   CreationPanel.add(inputUML,BorderLayout.CENTER);

   frame.add(CreationPanel);
 }

   public Frame getFrame() {
       return frame;
   }
}
Run Code Online (Sandbox Code Playgroud)

所以,总结一下我希望有人可以告诉我该怎么做是让用户的文本输入从左上角开始,当它到达最右边时改为下一行,就像任何普通的文本编辑器一样...

Pra*_* M 6

使用JTextPane或JEditorPane.可以在http://docs.oracle.com/javase/tutorial/uiswing/components/editorpane.html上找到示例.


tal*_*las 6

JTextField是一个轻量级组件,允许编辑单行文本.(来源)

因为它是一个单行组件,无论其大小如何,光标将始终居中并且永远不会转到下一行.

我建议你使用JTextArea,因为它是一个多行区域,允许用户输入你想要的输入.