当前位置: 技术问答>java相关
在一个文件中监听到的输入在另一个文件中无法引用
来源: 互联网 发布时间:2017-03-28
本文导语: 我现在正在用JAVA一份作业,可是遇到了几个问题,大家来看看是什么原因 在一个文件中监听到的输入在另一个文件中无法引用 我的程序一共有两个文件examscore.java view.java examscore.jav...
我现在正在用JAVA一份作业,可是遇到了几个问题,大家来看看是什么原因
在一个文件中监听到的输入在另一个文件中无法引用
我的程序一共有两个文件examscore.java
view.java
examscore.java 是主程序
view.java 是窗口文件
view.java中的相关代码如下
public class view extends JFrame {
JTextField input,output;
JButton button;
String s;
public view() {
button = new JButton("查询");
input = new JTextField(9);
output = new JTextField(30);
TextFieldHandler handlertext = new TextFieldHandler();
input.addActionListener(handlertext);
ButtonHandler handlerbutton = new ButtonHandler();
button.addActionListener(handlerbutton);
}
private class ButtonHandler implements ActionListener{
public void actionPerformed (ActionEvent e)
{String s = "";
s = input.getText();
}
}
private class TextFieldHandler implements ActionListener{
public void actionPerformed (ActionEvent e)
{String s = "";
s = e.getActionCommand();
}
}
这是一些相关代码,包括两个监听类.
然后我在examscore.java 中想用view.java中的 s 但总是不行
public class examscore {
public examscore() {
view frame = new view(); //已经声明了
frame.output.setText(frame.s)
结果什么输出都没有
这是怎么回事?????????????是不是范围的方位不对????????
在一个文件中监听到的输入在另一个文件中无法引用
我的程序一共有两个文件examscore.java
view.java
examscore.java 是主程序
view.java 是窗口文件
view.java中的相关代码如下
public class view extends JFrame {
JTextField input,output;
JButton button;
String s;
public view() {
button = new JButton("查询");
input = new JTextField(9);
output = new JTextField(30);
TextFieldHandler handlertext = new TextFieldHandler();
input.addActionListener(handlertext);
ButtonHandler handlerbutton = new ButtonHandler();
button.addActionListener(handlerbutton);
}
private class ButtonHandler implements ActionListener{
public void actionPerformed (ActionEvent e)
{String s = "";
s = input.getText();
}
}
private class TextFieldHandler implements ActionListener{
public void actionPerformed (ActionEvent e)
{String s = "";
s = e.getActionCommand();
}
}
这是一些相关代码,包括两个监听类.
然后我在examscore.java 中想用view.java中的 s 但总是不行
public class examscore {
public examscore() {
view frame = new view(); //已经声明了
frame.output.setText(frame.s)
结果什么输出都没有
这是怎么回事?????????????是不是范围的方位不对????????
|
这句代码,仅仅是写在构造函数里而已,在构造函数里调用的时候s=""
frame.output.setText(frame.s)
然后你就没有再激活
你在主程序里加个按钮,添加事件侦听激活它
frame.output.setText(frame.s)
然后你就没有再激活
你在主程序里加个按钮,添加事件侦听激活它
|
构造函数里定义String s = "";
修改TextFieldHandler ;
private class TextFieldHandler implements ActionListener{
public void actionPerformed (ActionEvent e)
{
s = e.getActionCommand();
}
private class ButtonHandler implements ActionListener{
public void actionPerformed (ActionEvent e)
{
s = input.getText();
}
修改TextFieldHandler ;
private class TextFieldHandler implements ActionListener{
public void actionPerformed (ActionEvent e)
{
s = e.getActionCommand();
}
private class ButtonHandler implements ActionListener{
public void actionPerformed (ActionEvent e)
{
s = input.getText();
}
|
你在view里申明的s没有任何值,你进行了赋值操作吗?
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。