假设我在一个工程中有两个.java文件,分别是Login.java和Mainwindows.Java,在Login.java中有一个public 类型的全局成员变量islog,类型为boolean,部分源码如下
public class Login extends JFrame {
....//省略一些东西
....
public static boolean islog=false;
public Login()
{
super("LOGIN Dialog");
...
...
};
public ActionListener al = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
....//当触发某个事件源时置islog为true; islog=true;
}
};
public static void main(String args[])
{
Login application = new Login();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}}在Mainwindows.java中我想调用Login.java中的islog,但是测试时却总是false的,为什么?Mainwindows.java部分代码如下:(程序能正确运行)public class MainWindow extends JFrame{
...
...
Login l;
public boolean m_islog;
public MainWindow(boolean bislog)
{
...
m_islog=bislog;//初始化
...
}
//事件
public ActionListener al = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(m_islog)//在Login.java中islog为true, 但这里m_islog却为false
....
}
};
public static void main(String args[])
{
MainWindow mw = new MainWindow(new Login().islog);
mw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
public class Login extends JFrame {
....//省略一些东西
....
public static boolean islog=false;
public Login()
{
super("LOGIN Dialog");
...
...
};
public ActionListener al = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
....//当触发某个事件源时置islog为true; islog=true;
}
};
public static void main(String args[])
{
Login application = new Login();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}}在Mainwindows.java中我想调用Login.java中的islog,但是测试时却总是false的,为什么?Mainwindows.java部分代码如下:(程序能正确运行)public class MainWindow extends JFrame{
...
...
Login l;
public boolean m_islog;
public MainWindow(boolean bislog)
{
...
m_islog=bislog;//初始化
...
}
//事件
public ActionListener al = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(m_islog)//在Login.java中islog为true, 但这里m_islog却为false
....
}
};
public static void main(String args[])
{
MainWindow mw = new MainWindow(new Login().islog);
mw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
解决方案 »
- 在线跪求 String 正则表达式
- 为什么窗口初始化显示为最小值??
- 【急问】要写一个(2,1)BRANCH PREDICTOR,有思路的同志进来讨论
- BufferedReader 输出问题!高人进。。。
- java中如何使用控件数组?
- 一个道关于switch的题目 解答是英文的,英文好的朋友能否帮忙翻译成中文?
- 我java原代码的问题!
- 求助:java.lang.NoClassRefFoundError
- 圣诞节没有女友或没有男朋友的朋友们,在来年找个PMM或SGG!!!
- throw错误,各位大大能说一下这个throw为什么错误了吗
- java的URLConnection.getContent()返回内容的判断?
- 求问路由器的量级是什么样子的?
这里初始的时候不就是false吗?
你后来再去改变login中的islog是不会影响MainWindow的
{
public void actionPerformed(ActionEvent e)
{
....//当触发某个事件源时置islog为true; islog=true;
MainWindow mw = new MainWindow(islog);//传到MainWindow 中
}
};也不行