0
您可以在整個網絡上使用read AWT已過時並且不推薦使用,並且Swing比AWT舊但比AWT新,並且應儘可能優先於AWT。但是,如何確定何時可以用Swing吊墜替換AWT組件?網絡中的幾個例子仍然使用Swing來代替AWT組件。那麼,有沒有一個明確的建議可以從AWT中使用,哪些不是?我知道Java編譯器會給出一個簡短的說明,當我使用正式棄用的組件,例如:什麼時候和Swing一起使用AWT,什麼時候不使用?
import java.awt.*;
public class Hello {
public static void main(String[] args) {
Frame f = new Frame("Hello");
f.setSize(300, 300);
f.show();
}
}
會產生這樣的警告:
Note: Hello.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
與-Xlint
:
Hello.java:9: warning: [deprecation] show() in Window has been deprecated
f.show();
^
1 warning
但據我瞭解網絡和甲骨文,我更喜歡通過AWT組件使用JComponents。但是,下面的代碼不會注意到我,而不是使用框架的JFrame:
import java.awt.*;
public class Hello {
public static void main(String[] args) {
Frame f = new Frame("Hello");
f.setSize(300, 300);
f.setVisible(true);
}
}
總之,我很好奇,當我在網上讀碼,如果它是最新的,並遵循以使用Swing在原則有可能,或者如果我需要改進。
換句話說:java.awt.*
及其子包的安全部分是什麼?
感謝您的想法和建議。
例如:對於java.awt.event。*或BorderLayout,Swing中是否存在替換?那麼爲什麼oracle的官方教程仍然涉及AWT? – math
事件和佈局不是組件。使用它們沒有任何問題。 – Kayaman
啊,它只是關於組件而已?由於還有一個'javax.swing.event。*'包.. – math