Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JPanel中添加可编辑文本框_Java_Swing_Text - Fatal编程技术网

Java 如何在JPanel中添加可编辑文本框

Java 如何在JPanel中添加可编辑文本框,java,swing,text,Java,Swing,Text,我希望在我的JPanel上添加一个文本框。此文本框类似于Microsoft PowerPoint中的内容:可以调整大小、四处移动等。我已经查看了JTextField,但我认为这不是我需要的。我不需要这样的弹出框: 我有一个程序,允许用户添加、调整大小和移动形状。我现在希望能够在这些形状中放置一个文本框。下面是我正在寻找的一个例子: 还有什么我可以做的吗?谢谢。班级负责调整大小。以下是可调整大小的JTextArea的工作示例: public static void main(String[]

我希望在我的JPanel上添加一个文本框。此文本框类似于Microsoft PowerPoint中的内容:可以调整大小、四处移动等。我已经查看了
JTextField
,但我认为这不是我需要的。我不需要这样的弹出框:

我有一个程序,允许用户添加、调整大小和移动形状。我现在希望能够在这些形状中放置一个文本框。下面是我正在寻找的一个例子:

还有什么我可以做的吗?谢谢。

班级负责调整大小。以下是可调整大小的JTextArea的工作示例:

public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        @Override
        public void run() {
            buildGUI();
        }
    });
}

private static void buildGUI() {
    JFrame f = new JFrame("Test");
    f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    ComponentResizer cr = new ComponentResizer();
    JPanel mainPanel = new JPanel(null);
    f.add(mainPanel);

    JTextArea textArea = new JTextArea("Some text\nSome other text");
    cr.registerComponent(textArea);

    mainPanel.add(textArea);
    textArea.setBounds(50, 50, 150, 150);

    f.setSize(400, 400);
    f.setLocationRelativeTo(null);
    f.setVisible(true);
}
如果您还想移动JTextArea,您可以另外使用并添加以下代码:

    ComponentMover cm = new ComponentMover();
    cm.registerComponent(textArea);
    cm.setDragInsets( cr.getDragInsets() );

要么通过KeyListener手动处理键盘输入,要么只使用JTextArea或其他文本组件。JTextArea接近我需要的。但我需要它没有边框,只显示文本。这可能吗?当然可以。查看API以获得有用的方法,例如设置边界的方法。很酷,非常感谢,我一定会查看的。谢谢你的帖子!我需要什么导入ComponentResister?您需要从我发布的链接中获取ComponentResister java类,并将其放入您的projectDUH!对不起,错过了:)