如何给一个JFrame上的一个按钮添加一个监听,点击按钮之后可以改变另一个frame上一个JTextField中的文本内

 我来答
百度网友845f74e61
推荐于2016-11-05 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1626万
展开全部
给你代码,点完show Frmae 以后,不断的点change试试
总得来说,你想改变另一个对象中的值,就需要有另一个对象的句柄(也就是实例)
这里就是frame
再有一个,就是你得有另一个对象的JTextField 的访问权限。
如果另一个对象的JTextField 是privete的,你就要有相应的get/set方法,如果这些都没有,你别想改变了。就是这样。
因为是你在做程序,这些访问关系不还是你说了算吗。

import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;

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

public class App1 extends JFrame {

private MyFrame frame = null;
private String[] mesg = { "hello", "welcome", "wait", "all" };
private int index = 0;

public App1() {

getContentPane().setLayout(null);
frame = new MyFrame();

JButton btnNewButton = new JButton("change");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (index == mesg.length) {
index = 0;
}
frame.text.setText(mesg[index++]);
}
});
btnNewButton.setBounds(12, 62, 116, 21);
getContentPane().add(btnNewButton);

JButton btnNewButton_1 = new JButton("show Frame");
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame.setVisible(true);
}
});
btnNewButton_1.setBounds(12, 26, 116, 21);
getContentPane().add(btnNewButton_1);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(400, 300);
setResizable(false);
setVisible(true);
}

public static void main(String[] args) {
new App1();
}
}

class MyFrame extends JFrame {

JTextField text;

public MyFrame() {
getContentPane().setLayout(null);
text = new JTextField();
text.setBounds(12, 25, 91, 21);
getContentPane().add(text);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(200, 200);
setResizable(false);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式