永发信息网

JAVA题 帮忙看下问题

答案:5  悬赏:0  手机版
解决时间 2021-06-06 16:49
  • 提问者网友:無理詩人
  • 2021-06-05 18:18

文本框复制 第一个文本框内输入内容 当点击复制按钮后 将其显示到第二个文本框

以下是我写的代码 但是实现不了复制 帮忙给改下 谢谢

就是在注释掉的那一部分里不知道怎么写才能实现

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Tuxing extends JFrame implements ActionListener
{
Tuxing(){
super("文本复制演示");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p1=new JPanel();
JTextArea a1=new JTextArea(4,20);
JTextArea a2=new JTextArea(4,20);
JLabel l1=new JLabel("请输入:");
JLabel l2=new JLabel("复制为:");
JButton b1=new JButton("复制");
getContentPane().add(p1);
FlowLayout f1=new FlowLayout();
p1.setLayout(f1);
p1.add(l1);
p1.add(a1);
p1.add(l2);
p1.add(a2);
p1.add(b1);
b1.addActionListener(this);
}

public static void main(String args[]){
Tuxing t1=new Tuxing();
t1.show();
t1.setSize(600,400);
}
}

最佳答案
  • 五星知识达人网友:风格不统一
  • 2021-06-05 19:48
将a1 a2 声明在类中而不是构造方法中就行了
全部回答
  • 1楼网友:西风乍起
  • 2021-06-05 23:46

String s = a1.getText();

a2.setText(s); 你的面板还没有加到窗口里面去

你的JAVA好像有点老 你的代码放我上面 用不了 所以调试不了

  • 2楼网友:渡鹤影
  • 2021-06-05 22:27
你没有把你的空间定义在类内,应该定义为类的对象而不是定义在构造方法中一旦定义在里面,初始化完成后就无法在获取这个对象。
  • 3楼网友:長槍戰八方
  • 2021-06-05 21:27
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Tuxing extends JFrame implements ActionListener { JTextArea a1; JTextArea a2; Tuxing(){ super("文本复制演示"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p1=new JPanel(); a1=new JTextArea(4,20); a2=new JTextArea(4,20); JLabel l1=new JLabel("请输入:"); JLabel l2=new JLabel("复制为:"); JButton b1=new JButton("复制"); getContentPane().add(p1); FlowLayout f1=new FlowLayout(); p1.setLayout(f1); p1.add(l1); p1.add(a1); p1.add(l2); p1.add(a2); p1.add(b1); b1.addActionListener(this); } public void actionPerformed(ActionEvent e){ a1.getText(); a2.setText(a1.getText()); } public static void main(String args[]){ Tuxing t1=new Tuxing(); t1.show(); t1.setSize(600,400); } }
  • 4楼网友:低音帝王
  • 2021-06-05 20:23

import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.*;

public class jishu extends JFrame implements ActionListener {

JTextArea a1; JTextArea a2; jishu(){ super("文本复制演示"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p1=new JPanel(); a1=new JTextArea(4,20); a2=new JTextArea(4,20); JLabel l1=new JLabel("请输入:"); JLabel l2=new JLabel("复制为:"); JButton b1=new JButton("复制"); getContentPane().add(p1); FlowLayout f1=new FlowLayout(); p1.setLayout(f1); p1.add(l1); p1.add(a1); p1.add(l2); p1.add(a2); p1.add(b1); b1.addActionListener(this); } public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(e.getActionCommand().equals("复制")) { a2.setText(a1.getText()); } } public static void main(String args[]){ jishu t1=new jishu(); t1.show(); t1.setSize(600,400); } }

这样就可以了

把什么的JTextArea 声明到构造函数外面 成全局的

然后修改你的注释的地方

if(e.getActionCommand().equals("复制"))//判断你点击的是复制按钮 { a2.setText(a1.getText());//改变文本的值 }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯