Java 如何从JTextfield获取文本并在JTextArea上显示

Java 如何从JTextfield获取文本并在JTextArea上显示,java,swing,Java,Swing,我试图从JTextField获取文本输入,并在单击按钮时将其显示在JTextField上。有人能帮忙吗? 我知道我应该使用getText和setText,但不太确定单击按钮时如何实现这一点。请看下面的代码。 谢谢 import java.awt.*; 导入java.awt.event.*; 导入javax.swing.*; 导入java.util.Random; 公共类CyberPet扩展JFrame 实现ActionListener{ 私有JButton makePetButton、hungr

我试图从JTextField获取文本输入,并在单击按钮时将其显示在JTextField上。有人能帮忙吗? 我知道我应该使用getText和setText,但不太确定单击按钮时如何实现这一点。请看下面的代码。 谢谢

import java.awt.*;
导入java.awt.event.*;
导入javax.swing.*;
导入java.util.Random;
公共类CyberPet扩展JFrame
实现ActionListener{
私有JButton makePetButton、hungryButton、randomButton;
私人JPanel小组;
专用JLabel标签、petName、flyLabel;
私人JTextArea;
私有JTextField textField;
int x=10;
int y=10;
int xMax=700;
int-yMax=500;
公共静态void main(字符串[]args){
赛博宠物框架=新赛博宠物();
框架设置尺寸(700500);
frame.createGUI();
frame.show();
frame.getContentPane().setBackground(颜色为.blue);
}
私有void createGUI(){
setDefaultCloseOperation(关闭时退出);
容器窗口=getContentPane();
setLayout(新的FlowLayout());
JPanel buttonGUI=新的JPanel();
panel=新的JPanel();
面板。设置首选尺寸(新尺寸(500300));
面板设置位置(500300);
面板.立根背景(颜色.白色);
panel.setLayout(空);
窗口。添加(面板);
buttonGUI=新的JPanel();
buttonGUI.setPreferredSize(新尺寸(400100));
按钮设置位置(200100);
按钮背景(颜色:白色);
window.add(buttonGUI);
label=新的JLabel();
标签.背景(颜色.白色);
Image img=newimageicon(this.getClass().getResource(“/frog.gif”)).getImage();
标签.设置图标(新图像图标(img));
标签设置位置(400,0);
标签.设置尺寸(80,80);
面板。添加(标签);
flyLabel=新的JLabel();
flyLabel.setBackground(颜色:黑色);
Image img1=newimageicon(this.getClass().getResource(“/fly.gif”)).getImage();
flyLabel.setIcon(新图像图标(img1));
flyLabel.设置位置(10,10);
flyLabel.setSize(50,50);
面板。添加(flyLabel);
petName=新的JLabel(“输入宠物名!”);
buttonGUI.add(petName);
textField=新的JTextField(“”);
setPreferredSize(新维度(100,30));
textField.setLocation(200,60);
textField.addActionListener(这个);
添加按钮(文本字段);
makePetButton=新的JButton(“makepet”);
设置位置(160,60);
makePetButton.addActionListener(此);
添加(makePetButton);
hungryButton=新的JButton(“饥饿!”);
饥饿按钮设置位置(280,60);
hungryButton.setSize(100,30);
hungryButton.addActionListener(这个);
添加按钮(hungryButton);
responseArea=新的JTextArea(“宠物状态”);
buttonGUI.add(responseArea);
}
//******nb插入后4个空格的行
已执行的公共无效操作(操作事件){
//下移
if(event.getSource()==makePetButton)
{
}
//上移
if(event.getSource()==hungryButton)
{
如果(y>10){
y=y-20;
标签设置位置(x,y);
}
}
//做宠物
if(event.getSource()==makePetButton)
{
如果(x>10){
x=x-20;
标签设置位置(x,y);
}
}
//右移
if(event.getSource()==textField)
{
如果(x<280){
x=x+20;
标签设置位置(x,y);
}
}
//乱动
if(event.getSource()==randomButton)
{
随机rnd=新随机();
int xMax=panel.getWidth()-label.getWidth();
int yMax=panel.getHeight()-label.getHeight();
x=rnd.nextInt(xMax+10);
y=下一个月的平均值(yMax+10);
标签设置位置(x,y);
}
}
}

您拥有eventHandler,因此在处理单击相应按钮时只需调用
responseArea.setText(textField.getText())

您拥有eventHandler,因此在处理单击相应按钮时只需调用
responseArea.setText(textField.getText())

,但是对于OP来说,最重要的建议是阅读教程,因为这里已经很好地解释了这些内容(如何使用JButtons、JTextFields、ActionListeners和JTextAreas)。@HoverCraftfullOfels:我的乳头高兴得爆炸了。如果响应区域是JTextArea,您可能会使用
responseArea.append(textField.getText())
。谢谢Camickr,我会试试的!!谢谢@MarcusMüller,我使用了你的方法,效果很好!!一加,但是
 import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.Random;

        public class CyberPet extends JFrame 
            implements ActionListener {

            private JButton makePetButton,hungryButton, randomButton;
            private JPanel panel;
            private JLabel label, petName, flyLabel;
            private JTextArea responseArea;
            private JTextField textField;
            int x =10;
            int y=10;   
            int xMax = 700;
            int yMax = 500;

            public static void main (String[] args) {
                CyberPet frame = new CyberPet();
                frame.setSize(700, 500);
                frame.createGUI();
                frame.show();
                frame.getContentPane().setBackground(Color.blue);

            }

            private void createGUI() {
                setDefaultCloseOperation(EXIT_ON_CLOSE);
                Container window = getContentPane();
                window.setLayout(new FlowLayout() );

                JPanel buttonGUI = new JPanel();

                panel = new JPanel();
                panel.setPreferredSize(new Dimension(500, 300));
                panel.setLocation(500, 300);
                panel.setBackground(Color.white);
                panel.setLayout(null);
                window.add(panel);

                buttonGUI = new JPanel();
                buttonGUI.setPreferredSize(new Dimension(400, 100));
                buttonGUI.setLocation(200, 100);
                buttonGUI.setBackground(Color.white);
                window.add(buttonGUI);

                label = new JLabel();
                label.setBackground(Color.white);
                Image img = new ImageIcon (this.getClass().getResource("/frog.gif")).getImage();
                label.setIcon(new ImageIcon(img));
                label.setLocation(400, 0);
                label.setSize(80, 80);
                panel.add(label);

                flyLabel = new JLabel();
                flyLabel.setBackground(Color.black);
                Image img1 = new ImageIcon (this.getClass().getResource("/fly.gif")).getImage();
                flyLabel.setIcon(new ImageIcon(img1));
                flyLabel.setLocation(10, 10);
                flyLabel.setSize(50, 50);
                panel.add(flyLabel);

                petName = new JLabel("Enter Pet Name!");
                buttonGUI.add(petName);

                textField = new JTextField("");
                textField.setPreferredSize(new Dimension(100, 30));
                textField.setLocation(200, 60);
                textField.addActionListener(this);
                buttonGUI.add(textField);

                makePetButton = new JButton("Make Pet");
                makePetButton.setLocation(160, 60);
                makePetButton.addActionListener(this);
                buttonGUI.add(makePetButton);

                hungryButton = new JButton("Hungry!");
                hungryButton.setLocation(280, 60);
                hungryButton.setSize(100, 30);
                hungryButton.addActionListener(this);
                buttonGUI.add(hungryButton);

                responseArea = new JTextArea("Pet Status");
                buttonGUI.add(responseArea);       


            }
            //   ***** nb line of 4 spaces after insert

            public void actionPerformed(ActionEvent event) {

                //Move down
                 if (event.getSource() == makePetButton)
                    {


                     }

                 //Move Up
                     if (event.getSource() == hungryButton)  
                     {
                    if (y > 10){
                     y=y-20;     
                     label.setLocation(x, y);
                    }
                     }
                 //Makes the Pet
                     if (event.getSource() == makePetButton)
                     {
                     if (x > 10){
                     x=x-20;     
                     label.setLocation(x, y);
                      }
                     }
                 //Move Right
                     if (event.getSource() == textField)
                     {
                     if (x < 280){
                     x=x+20;
                     label.setLocation(x, y);
                        }
                     }
                    //Move random
                     if(event.getSource() == randomButton)
                        {
                         Random rnd = new Random();
                         int xMax = panel.getWidth()-label.getWidth();
                         int yMax = panel.getHeight()-label.getHeight();
                         x = rnd.nextInt(xMax+10);
                         y = rnd.nextInt(yMax+10);
                         label.setLocation(x,y);


                     }
                     }

            }