我在日食相当新的,具有调用其他方法的变量,如问题:调用从另一个方法的变量
btnNewButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
final JFileChooser fc = new JFileChooser();
int returnVal = fc.showDialog(fc, null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File prnfile = new File(fc.getSelectedFile().toString());
}
}
});
btnNewButton.setBounds(54, 164, 89, 23);
frame.getContentPane().add(btnNewButton);
JButton btnNewButton_1 = new JButton("print");
btnNewButton_1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
File file = new File(prnfile);
int ch;
StringBuffer strContent = new StringBuffer("");
FileInputStream fin = null;
try {
fin = new FileInputStream(file);
while ((ch = fin.read()) != -1)
strContent.append((char) ch);
fin.close();
} catch (Exception e1) {
System.out.println(e);
}
});
btnNewButton_1.setBounds(257, 164, 89, 23
现在,我怎么能称之为“prnfile”从其他方法?通常我会在c#中创建一个公共对象,但它不能在Eclipse中工作,所以我不知道该去哪里(作为一个完整的noob :))
“调用变量”?这是没有意义的。你调用方法,而不是变量。你的意思是访问变量?顺便说一句,这与Eclipse无关。我建议你写一本关于Java的好书并开始阅读。 – m0skit0 2012-04-10 09:41:14
您无法从另一种方法看到局部变量。例如,您需要创建一个实例字段。这部分与C#完全没有什么不同。 – Thilo 2012-04-10 09:42:25
实际上,您正在使用两个匿名内部类。一个创建一个局部变量'File',然后尝试访问它。这不可能。您应该在两个匿名内部类之上的类中创建“File”作为字段。只有这样,它们才能在两者中可见和可访问。 – 2012-04-10 09:46:03