java 怎样为一个jframe添加一个监听器,当另一个jframe按下一个button时作出反应?

java 怎样为一个jframe添加一个监听器,当另一个jframe按下一个button时作出反应?,第1张

JFrame好像没专门的监听器吧~~

可以定义一个全局变量boolean state=false

为button加一个监听器,当按下button的时候,在actionPerform方法里面改变:state=true;

在第一个jframe判断if(state==true){作出你想要的反应啊神马的}也可以做到你想要的效果

给你代码,点完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)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11964475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存