我正在重新使用Java并查看我的一些旧代码,并且我看到了很多我已经完成的地方
import javax.swing.*;
import java.awt.*;
或实际从swing / awt包中导入特定类。我不记得是否需要导入java.awt。*来使用javax.swing中的任何东西。*或者我是否导入java.awt。*是出于其他原因?换句话说,导入java.awt。*的目的是什么?我的印象是,我需要使用JButton,JFrame等在javax.swing中。*。
答案 0 :(得分:3)
如果你使用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 :(得分: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();
如果这样做,您可以在不导入任何内容的情况下制作程序。