用java的反射机制怎么获取一个类中里面方法中局部变量?? 用java的反射机制怎么获取一个类中里面方法中局部变量??我看了java反射的介绍,可以获取类,以及类中的方法,但是我想获取方法中的局部变量进行修改! 请问怎么实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不可能吧,Java 反射不提供这样的功能。 public HashMap fy_tw(){ JFrame f=new JFrame("调温费和取暖费明细查询"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(400, 200); f.setResizable(false); f.setLocationRelativeTo(null); JPanel p1=new JPanel(); JLabel l_zyh=new JLabel("住院号"); JTextField t_zyh=new JTextField(); t_zyh.setPreferredSize(new Dimension(200,30)); JButton btn=new JButton("查询"); btn.setPreferredSize(new Dimension(100,30)); btn.addActionListener(query); //// !!!!!!!这个监听中我想获取JTextField 的 内容 JLabel l_qnf=new JLabel(" 取暖费"); JLabel l_qnfx=new JLabel(); l_qnfx.setPreferredSize(new Dimension(300,30)); JLabel l_twf=new JLabel("调温费"); JLabel l_twfx=new JLabel(); l_twfx.setPreferredSize(new Dimension(300,30)); p1.add(l_zyh); p1.add(t_zyh); p1.add(btn); p1.add(l_qnf); p1.add(l_qnfx); p1.add(l_twf); p1.add(l_twfx); f.add(p1); f.setVisible(true); HashMap map=new HashMap(); map.put("t_zyh", t_zyh); //已测试用HashMap 传过去 就不是这个方法中定义的 //JTextField 了,怎么才能把它传递到下一个监听方法?? return map; } static ActionListener query = new ActionListener() { public void actionPerformed(ActionEvent ae) { try { Gui gui=new Gui(); HashMap map=gui.fy_tw(); JTextField tt=map.get("zyh"); System.out.println(tt.getText());//这个为空,说明传送失败!!! JLabel l1=(JLabel) gui.fy_tw().get("l_zyh"); HashMap map=gui.fy_tw(); JTextField t_zyh=(JTextField) map.get("t_zyh"); // Class c = gui.getClass(); Method xxx=c.getMethod("fy_tw", null); // JTextField xxx=xxx. Connection conn=DButil.getConn(); Statement stat=conn.createStatement(); String sql1="select sum(zjje) qnf from zy_ls_sfd2 where sflb='6100' and zyh='"+t_zyh.getText()+"'"; String sql2="select sum(zjje) twf from zy_ls_sfd2 where sflb='6200' and zyh='"+t_zyh.getText()+"'"; ResultSet rs1=stat.executeQuery(sql1); rs1.next(); String qnf=rs1.getString("qnf"); JTextField l_qnfx=(JTextField) map.get("l_qnfx"); l_qnfx.setText(qnf); ResultSet rs2=stat.executeQuery(sql2); rs2.next(); String twf=rs1.getString("twf"); JTextField l_twfx=(JTextField) map.get("l_twfx"); l_twfx.setText(twf); conn.close(); } catch (Exception e) { e.printStackTrace(); } } };请问大虾,这个问题怎么解决,就是说怎么把 一个方法中的JTextField 局部变量传递到下一个方法进行修改不用 条件是:全局变量!!! 这段代码有一点不明白,请高手帮帮忙,谢谢! 一个非常奇怪的函数重写 FileNotFoundException 关于snmp4j中set问题 关于log4j如何只输出特定包log的问题? java自由作图 请问sun.net.frp包在哪?怎么标准API中没有?从哪能下载?谢谢! 关于net包的问题... 求助!关于PopupMenuListener接口类小问题。在线等,搞定马上送分! 不好意思,又麻烦各位了! 用java程序读取matlab生成的.mat文件 关于List排序问题 spring2.0整合hibernate3.1事务案例出错
JFrame f=new JFrame("调温费和取暖费明细查询");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400, 200);
f.setResizable(false);
f.setLocationRelativeTo(null);
JPanel p1=new JPanel();
JLabel l_zyh=new JLabel("住院号");
JTextField t_zyh=new JTextField();
t_zyh.setPreferredSize(new Dimension(200,30));
JButton btn=new JButton("查询");
btn.setPreferredSize(new Dimension(100,30));
btn.addActionListener(query); //// !!!!!!!这个监听中我想获取JTextField 的 内容
JLabel l_qnf=new JLabel(" 取暖费");
JLabel l_qnfx=new JLabel();
l_qnfx.setPreferredSize(new Dimension(300,30));
JLabel l_twf=new JLabel("调温费");
JLabel l_twfx=new JLabel();
l_twfx.setPreferredSize(new Dimension(300,30));
p1.add(l_zyh);
p1.add(t_zyh);
p1.add(btn);
p1.add(l_qnf);
p1.add(l_qnfx);
p1.add(l_twf);
p1.add(l_twfx);
f.add(p1);
f.setVisible(true);
HashMap map=new HashMap();
map.put("t_zyh", t_zyh); //已测试用HashMap 传过去 就不是这个方法中定义的 //JTextField 了,怎么才能把它传递到下一个监听方法??
return map; }
static ActionListener query = new ActionListener() { public void actionPerformed(ActionEvent ae) {
try {
Gui gui=new Gui();
HashMap map=gui.fy_tw();
JTextField tt=map.get("zyh");
System.out.println(tt.getText());//这个为空,说明传送失败!!!
JLabel l1=(JLabel) gui.fy_tw().get("l_zyh");
HashMap map=gui.fy_tw();
JTextField t_zyh=(JTextField) map.get("t_zyh");
// Class c = gui.getClass();
Method xxx=c.getMethod("fy_tw", null);
// JTextField xxx=xxx.
Connection conn=DButil.getConn();
Statement stat=conn.createStatement();
String sql1="select sum(zjje) qnf from zy_ls_sfd2 where sflb='6100' and zyh='"+t_zyh.getText()+"'";
String sql2="select sum(zjje) twf from zy_ls_sfd2 where sflb='6200' and zyh='"+t_zyh.getText()+"'";
ResultSet rs1=stat.executeQuery(sql1);
rs1.next();
String qnf=rs1.getString("qnf");
JTextField l_qnfx=(JTextField) map.get("l_qnfx");
l_qnfx.setText(qnf);
ResultSet rs2=stat.executeQuery(sql2);
rs2.next();
String twf=rs1.getString("twf");
JTextField l_twfx=(JTextField) map.get("l_twfx");
l_twfx.setText(twf);
conn.close(); } catch (Exception e) {
e.printStackTrace();
}
}
};
请问大虾,这个问题怎么解决,就是说怎么把 一个方法中的JTextField 局部变量传递到下一个方法进行修改
不用 条件是:全局变量!!!