gpt4 book ai didi

java - 将信息从一个 jframe 传递到另一个 jframe

转载 作者:行者123 更新时间:2023-11-30 07:05:22 27 4
gpt4 key购买 nike

首先,我知道使用多个 jframe 是不受欢迎的,不幸的是我已经深入到这个项目中来重新开始。我的问题是我找不到一种方法将数据(用户输入)从一个帧传输到另一个帧,我将提供需要从帧 1 传输到另一个帧的代码

这是我的代码,用于他们必须输入的姓名和电子邮件

    JTextArea txtrEnterYourFull = new JTextArea();
txtrEnterYourFull.setEditable(false);
txtrEnterYourFull.setFont(new Font("Lucida Grande", Font.PLAIN, 15));
txtrEnterYourFull.setBackground(Color.GRAY);
txtrEnterYourFull.setText("Enter your full name");
txtrEnterYourFull.setBounds(52, 58, 166, 29);
frame.getContentPane().add(txtrEnterYourFull);



nameL = new JTextField();
nameL.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

}
}
);
nameL.setBackground(Color.LIGHT_GRAY);
nameL.setBounds(52, 93, 284, 26);
frame.getContentPane().add(nameL);
nameL.setColumns(10);


JTextArea txtroptionalEnterYour = new JTextArea();
txtroptionalEnterYour.setEditable(false);
txtroptionalEnterYour.setFont(new Font("Lucida Grande", Font.PLAIN, 15));
txtroptionalEnterYour.setBackground(Color.GRAY);
txtroptionalEnterYour.setText("(Optional) Enter your email");
txtroptionalEnterYour.setBounds(52, 139, 193, 29);
frame.getContentPane().add(txtroptionalEnterYour);

textField_1 = new JTextField();
textField_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

}

这是转到新框架的按钮代码

    JButton btnContinue = new JButton("Continue");
btnContinue.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {


frame2 fram = new frame2 ();
fram.setVisible(true);
frame.dispose();

我是 Swing 新手,我不需要有人来完成我的程序。我只需要知道如何将其转移到新框架上的新文本框。

最佳答案

这样做相当容易。您需要做的就是设置一个构造函数,在其中将框架和所需的值传递给新框架。

例如,我有一个 LoginScreen.java 和 DoctorScreen.java。如果我的用户成功输入他的详细信息并登录,我将通过创建该类的新实例将医生的 ArrayList 从一个 JFrame 传输到另一个 JFrame,或者更准确地说,从一个 java 类传输到另一个类

这里是例子

将数组列表从 LoginScreen.java 传递到 DoctorScreen.java

DoctorScreen dScreen = new DoctorScreen(frame, docList,d);

现在获取从 LoginScreen.java 传递的这些值并在 DoctorScreen.java 中设置它们

public DoctorScreen(JFrame frame, ArrayList<Doctor> docList, Doctor d) {
// TODO Auto-generated constructor stub
dialog = new JFileChooser(System.getProperty("user.dir"));
this.frame = frame;
this.docList = docList;
this.d = d;
initialize();
}

现在,您可以更改 DoctorScreen 构造函数以适应您尝试执行的任何项目。

我建议您采取的步骤是创建一个 Java 文件来处理您的输入,并创建第二个 Java 文件来显示您在第一个文件中输入的内容

EG:

JButton btnContinue = new JButton("Continue");
btnContinue.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String field1 = txtrEnterYourFull.getText();
String name = nameL.getText();
String field2 = txtroptionalEnterYour.getText();

Display display = new Display(name, field1, field2);//using this as example
}

}

然后在您的 display.java 中,调用接受这些字段的构造函数并将它们显示在文本字段/文本区域或框架中的 JLabel 中

 String name, field1, field2;

public Display(String name, String field1, String field2){

this.name = name;
this.field1 = field1;
this.field2 - field2;
}

请注意,这些变量已经被声明,我只是将其用于演示目的。

关于java - 将信息从一个 jframe 传递到另一个 jframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40242807/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com