嗨,大家好,我想讓我的JFrame在點擊鼠標時關閉。我有代碼來做,但它不工作...在鼠標上關閉JFrame點擊
public void closeFrame()
{
jPanel.removeAll();
String x = "";
JLabel exit = new JLabel ("Click Anywhere To Close!", JLabel.CENTER);
exit.setPreferredSize (new Dimension (700, 100));
jPanel.add (exit);
jPanel.revalidate();
MouseListener ml = new MouseAdapter()
{
public void mouseClicked (MouseEvent event)
{
//Put JFrame close code here
dispose();
System.exit (0);
}
}
;
addMouseListener (ml);
validate(); //This hasn't made a difference :(
}
該類擴展JFrame,它DOESNT實現MouseListener。儘管如此,代碼不起作用。
這是JFrame的初始化看起來(希望它能幫助)...
public void createFrame()
{
new JFrame (":) :)");
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
setVisible (true);
//Some Initialization for jPanel variable
getContentPane().add(jPanel);
pack();
}
我怎樣才能使此代碼工作&如果我不能,有沒有關閉的替代方法在鼠標點擊?
---編輯---
由於去氣墊船全鰻魚
的MouseListener的必須添加到JPanel的
//WORKING CODE
public void closeFrame()
{
jPanel.removeAll();
String x = "";
JLabel exit = new JLabel ("Click Anywhere To Close!", JLabel.CENTER);
exit.setPreferredSize (new Dimension (700, 100));
jPanel.add (exit);
//jPanel.revalidate();
MouseListener ml = new MouseAdapter()
{
public void mouseClicked (MouseEvent event)
{
//Put JFrame close code here
dispose();
System.exit (0);
}
}
;
jPanel.addMouseListener (ml);
jPanel.revalidate();
}
「我想讓我的JFrame在點擊鼠標時關閉」。你的意思是,如果框架被其他窗口部分遮擋,並且我看到它的一部分並點擊它將它放在前面,你希望它應該關閉嗎? *爲什麼?* – 2011-05-16 00:06:18