gpt4 book ai didi

swing - Javax.Swing;如何创建不同类的对象并分配从 jframe 收到的变量?概念问题

转载 作者:行者123 更新时间:2023-12-01 11:25:53 26 4
gpt4 key购买 nike

我是第一次使用 javax.swing 和 jframes,所以如果您觉得这个问题很原始,请原谅。

问题:在我的主函数中,我创建了一个类的对象,假设是 ClassTest。所以代码是这样的:

      import TestPackage.ClassTest.*;

public class Qinterface extends JFrame and implements ActionListener
{
public string Login;

public static void main(String[] args){
ClassTest test = new ClassTest();
try{ eventqueue invoker ...}catch{}
}


Qinterface(){
setResizable(false);
setTitle("Carrefour : Qualys Application");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(300, 100, 850, 500);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

txtEnterText = new JTextField();
txtEnterText.setText("Enter Qualys Login");
txtEnterText.setBounds(10, 193, 166, 23);
contentPane.add(txtEnterText);
txtEnterText.setColumns(10);

btnSubmit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent eSubmit)
{
//button is pressed
System.out.println("You clicked the button Submit");
Login = txtEnterText.getText();}});

}
}

因此,如代码的最后一行所示,我能够从 txtEnterText 字段中获取值并分配给局部变量“Login”。但是,如果我想将此值分配给在 main 函数中创建的类的实例,我该怎么办?

            test.x=txtEnterText.getText();

我知道在这种方法中这是不可能的,因为我们在构造函数中 Qinterface 类和在 main 中实例化的 ClassTest 的变量是不可见的。

所以这个问题是笼统的和概念性的;在使用 javax.swing 编码时,您如何解决此类问题?

最佳答案

以登录流程为例:

您的接口(interface)类可以包含一个由 Action 监听器填充的“LoginData”对象。通过为数据对象提供 getter,可以从界面外部访问登录数据。

这只是解决此问题的众多方法之一。

这将是 MVC 架构的一个很好的候选者——您可以稍微阅读一下 here .

关于swing - Javax.Swing;如何创建不同类的对象并分配从 jframe 收到的变量?概念问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18258484/

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