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