This method is inside JFrame object, how can I pass that JFrame object as an argument to the method in its inner class?? My code is: The comment explains what I am interested to do:
public void runTime(){ ActionListener action = new ActionListener(){ public void actionPerformed(ActionEvent e){ count++; text.setText(new Integer(count).toString()); while (count==2012){ //I want to pass the frame that holds this rather than null, how it is possible? JOptionPane.showMessageDialog(null, "HelloEnd", "End of World", JOptionPane.INFORMATION_MESSAGE, new ImageIcon("explode.jpg")); break; } } }; tr = new Timer(1000,action); tr.start(); }
Hopefully, this question wasn't answered before . Anyway, try
JOptionPane.showMessageDialog(JFrame.this, "HelloEnd", "End of World", JOptionPane.INFORMATION_MESSAGE, new ImageIcon("explode.jpg"));
您可以使用OuterClassName.this
。
AFAIK, if your method is not static, you can use this
and super
keywords. Here's some tutorial . Eg:
JOptionPane.showMessageDialog(this, "HelloEnd", "End of World", JOptionPane.INFORMATION_MESSAGE, new ImageIcon("explode.jpg"));
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.