我們正在使用JFrame的setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)方法。與JFrame.setDefaultCloseOperation等效的AWT是什麼?
我想支持本地外觀和感覺,因此我必須使用AWT而不是Swing。那麼等於setDefaultCloseOperation的AWT方法是什麼?
我正確地認爲,爲了支持本機的外觀和感覺,我們應該使用AWT而不是Swing?
我們正在使用JFrame的setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)方法。與JFrame.setDefaultCloseOperation等效的AWT是什麼?
我想支持本地外觀和感覺,因此我必須使用AWT而不是Swing。那麼等於setDefaultCloseOperation的AWT方法是什麼?
我正確地認爲,爲了支持本機的外觀和感覺,我們應該使用AWT而不是Swing?
在AWT中沒有一種方法等價,但您可以自己構建它。
myFrame.addWindowListener(
new WindowAdapter(){
public void windowClosed(WindowEvent e) { System.exit(0); }
}
);
您可以在不使用AWT的情況下接近本地保真度。相反,請使用UIManager設置默認外觀&感受。
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeel());
您必須顯示任何UI之前做到這一點,或者事情可能會變得有點毛。
或者在代碼中設置L'n'F,可以使用java/javaw參數-Dswing.defaultlaf。
例如,在Windows下一個可以指定 -Dswing.defaultlaf = com.sun.java.swing.plaf.windows.WindowsLookAndFeel
更多信息,可以發現here。
的Java提供了AWT的接口,以及在搖擺處理窗口事件命名的窗口偵聽 我們請使用setDefaultCloseOperation()方法只是從冗長的編碼逃避擺動 窗口聽衆覆蓋7種方法 命名
public void windowOpened(WindowEvent e) { }
public void windowClosed(WindowEvent e) { }
public void windowActivated(WindowEvent e) { }
public void windowDeactivated(WindowEvent e) { }
public void windowIconified(WindowEvent e) { }
public void windowDeiconified(WindowEvent e) { }
public void windowClosing(WindowEvent e)
{}
我們必須把我們的退出代碼中的最後一個方法,因爲它與窗口關閉
或者W¯¯交易e可以使用適配器類。 使用適配器類比偵聽器更有優勢,它允許我們只覆蓋一個或兩個我們需要的抽象方法,而不強制偵聽器的所有抽象方法。但適配器的問題是它們被設計成抽象類,因此我們不能擴展到我們的類,因爲類已經擴展了Frame(Java不支持多繼承)。
例如使用下列程序中的代碼
Frame f = new Frame();
f.addWindowListener(new WindowListener()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
你應該添加更多的上下文,並描述爲什麼這可能會解決問題 – 2014-10-19 12:08:16
我沒有得到你......你想說什麼?:) – Priyank 2014-10-19 13:12:28
你應該給答案提供更多的上下文。不要只顯示一個解決方案。提供信息,說明爲什麼以及如何解決問題,並解釋如何使用該片段,否則很有可能人們不會理解您**正在說些什麼 – 2014-10-19 16:12:46
搖擺絕對支持本機的外觀和感覺 – ChssPly76 2009-08-06 04:36:25
@ ChessPly76:但我認爲我們只需要創建一個外觀和感覺可固定於所有平臺! – Johanna 2009-08-06 04:38:19
如果通過「固定」來表示「對於所有平臺都是一樣的」,則可以使用Swing來實現這一點 - 該l&f被稱爲「金屬」。如果你的意思是「每個平臺的原生」,你也可以這樣做。我已經鏈接到Sun的教程,在我的答案中有一個演示。 – ChssPly76 2009-08-06 04:51:58