当我想将数据从一个帧发送到另一个
时,我遇到了这个问题我这样做是为了这样做:
public class user_login extends javax.swing.JFrame {
public static String id;
然后在下一个J帧中我已经完成了这个
String x = user_login.id);
我知道这是一种不好的做法
任何人都可以帮助我!谢谢< 3
答案 0 :(得分:0)
事实上,你不应该以这种方式在JFrame
之间进行沟通
提供组件的完整API可以在两个JFrame之间创建责任组合
此外,使用静态字段来共享数据是一个非常糟糕的主意,因为全局变量通常会在组件和处理之间产生强烈的耦合,而不会增加使用此变量的代码时的副作用风险。 / p>
只应向用户类提供API方面的行为。
您可以创建一个界面来定义要从其他JFrame
调用的JFrame
的API。使用JFrame
实现接口并使用户JFrame
具有此接口的引用对象
您只需与用户JFrame
进行API通信即可。
API:
public interface UserLoginAPI{
String getLogin();
}
用户JFrame
:
public class UserLoginFrame extends JFrame implements UserLoginAPI{
private String id;
...
public String getLogin(){
return id;
}
}
使用JFrame
:
public class OtherFrame extends JFrame {
private UserLoginAPI api;
private OtherFrame(UserLoginAPI userLoginAPI){
this.api = userLoginAPI;
}
public void doSomeProcessing(){
String loginRetrievedByApi = api.getLogin();
}
}