java ,两个界面,点击第一个界面的按钮修改第二个界面的label文字,怎么做?
第一个界面只有一个label,第二个界面有一个按钮和一个jtextfield,在jtextfield里输入文字以后按按钮,在第一个界面的label里显示输入的文字...
第一个界面只有一个label,第二个界面有一个按钮和一个jtextfield,在jtextfield里输入文字以后按按钮,在第一个界面的label里显示输入的文字
展开
5个回答
展开全部
说明一下,这里给你写的代码比较规范,关键就是在你运行第一个类,紧接着就直接构造出第二个类,并且将第一个类自身传到第二个类去,这就保证了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());
}
}
我这里是:对按钮进行监听, 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());
}
}
展开全部
把你的源代码附上或许更加明白你的意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以在另一个页面里声明一个静态变量 让label显示静态变量的内容
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我写点伪代码给你
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());
}
}
}
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());
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
}
}
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询