2013-11-26 43 views
3

我取回成Java和審查我的一些舊的代碼,我看到了很多的地方,我已經做了何時需要導入java.awt。*?如果我想導入javax.swing。*是否還需要導入java.awt。*?

import javax.swing.*; 
import java.awt.*; 

或實際上從擺動/ AWT包導入特定的類。我不記得是否需要導入java.awt。*以在javax.swing。*中使用任何內容,或者是否因爲其他原因導入了java.awt。*?換句話說,導入java.awt。*的目的是什麼?我印象深刻的一切,我需要使用JButton,JFrame等在javax.swing。*中。

+2

註釋掉導入以發現它包含的內容.. –

回答

2

如果您使用awt類型,則不需要輸入awt,不能輸入awt。

我不記得是否需要導入java.awt。*以使用javax.swing。*中的任何內容,或者是否因爲其他原因導入了java.awt。*?換句話說,導入java.awt。*的目的是什麼?

目的是使用AWT庫中的任何類。大多數人會建議您只導入您正在使用的特定課程,不多不少。

我印象深刻的一切,我需要使用JButton,JFrame等在javax.swing。*中。

這幾乎從未如此。大多數Java程序不僅僅是玩具程序,還需要使用許多庫。例如,大多數佈局類都保存在AWT庫中。大部分聽衆都在java.awt.event圖書館中。

請注意,如果您選擇使用完全限定類型名稱,則不必導入任何東西

例如,

java.awt.BorderLayout myBorderLayout = new java.awt.BorderLayout(5, 5); 
1

這些是的javax.swing。*

JFrame 
JButton 

這些是java.awt中。*

Component 
Color 

可以使一個窗口不帶Java .awt。*

public class Frame extends JFrame{ 
    public static void main(String[] args){ 
     new Frame(); 
    } 
    public Frame(){ 
     super("Frame"); 
     this.setVisible(true); 
    } 
} 

如果你想,我不喜歡,你可以使用完全合格的類名。

javax.swing.JFrame = new javax.swing.JFrame(); 

如果你這樣做,你可以做一個程序,而不需要導入任何東西。

相關問題