java ,两个界面,点击第一个界面的按钮修改第二个界面的label文字,怎么做?

2024-12-19 10:15:51
推荐回答(5个)
回答1:

说明一下,这里给你写的代码比较规范,关键就是在你运行第一个类,紧接着就直接构造出第二个类,并且将第一个类自身传到第二个类去,这就保证了2个类相互持有了对方,两者都是同步的。在此,你只需要去修改TextField的类容即可。

我这里是:对按钮进行监听, test01.txt.setText(this.txt.getText());
可能还有点小问题,我这里是直接写的,网吧没有编译器,你检查下就好了,记住我没有导入包。

第一个类:
public class Test01{
JFrame frame;
JLabel txt;
//构造出第二各类,把第一个类传入到第二个类,同步创建
Test02 test02;

public Test01(){
test02 = new Test02(this);
frame = new JFrame();
txt = new JLabel(20);
}

public void display(){
frame.add(txt);
}

public static void main(Strng[] args){
new Test01().display();
}
}

第二个类:
public class Test02 implements ActionListener {
JFrame frame;
JTextField txt;
JButton button;
Test01 test01;

public Test02(Test01 test01){
this.test01 = test01;//让第二各类持有第一个类的引用
frame = new JFrame();
button = new JButton("按钮");
txt = new JTextField(15);
display();
}

public void display(){
frame.add(txt);
frame.add(button,BorderLayout.DOWN);
}

public void actionPerformed(ActionEvent e) {
test01.txt.setText(this.txt.getText());
}
}

回答2:

把你的源代码附上或许更加明白你的意思

回答3:

可以在另一个页面里声明一个静态变量 让label显示静态变量的内容

回答4:

我写点伪代码给你
Label label= new Label("修改前");
Button button = new Button("modify");//按钮
Jtextfield jtf = new Jtextfield(30);//文本框
button.addActionListener(new ButtonListener);//添加button监听
class ButtonListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==button){
label.setTest(jtf.getText());
}
}
}

回答5:

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class demo{
static JButton jb=new JButton("修改");
static JTextField jt=new JTextField(20);
static JLabel jl=new JLabel("无");
public static void main(String args[]){
final JFrame jf2=new JFrame("演示");
jf2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jl.setHorizontalAlignment(SwingConstants.CENTER);
jf2.add(jl);
jf2.setBounds(500,400,280,60);
jf2.setResizable(false);
jf2.setVisible(true);

final JFrame jf=new JFrame("修改");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLayout(new FlowLayout());
ActionListener actionListener=new ActionListener(){
public void actionPerformed(ActionEvent e){
if(jt.getText().length()>0) jl.setText(jt.getText());
else jl.setText("无");
}
};
jb.addActionListener(actionListener);
jt.addActionListener(actionListener);
jf.add(jt);
jf.add(jb);
jf.setBounds(500,460,280,100);
jf.setResizable(false);
jf.setVisible(true);
}
}