当前位置: 首页 > 知识库问答 >
问题:

何时需要导入java.awt.*?如果我想导入javax.swing.*是否也需要导入java.awt.*?

岳枫
2023-03-14

我回到Java并回顾了我的一些旧代码,我看到了很多我已经做过的地方

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

或者从swing/awt包中实际导入特定类。我不记得是否需要导入java。awt.*在javax中使用任何东西。摇摆。*或者我会导入java。awt.*还有别的原因吗?换句话说,导入java的目的是什么。awt.*?我觉得使用JButton、JFrame等所需的一切都是javax。摇摆。

共有2个答案

邢俊悟
2023-03-14

这些是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();

如果你这样做,你可以制作一个程序而不需要导入任何东西。

娄飞鸾
2023-03-14

如果使用awt类型,则导入awt,不多也不少。

我不记得是否需要导入java。awt.*在javax中使用任何东西。摇摆。*或者我会导入java。awt.*还有别的原因吗?换句话说,导入java的目的是什么。awt.*?

其目的是使用AWT库中的任何类。大多数人会建议您只导入正在使用的特定类,不多不少。

我觉得使用JButton、JFrame等所需的一切都是javax。摇摆。

这几乎永远不会是真的。大多数不仅仅是玩具程序的Java程序将需要使用许多库。例如,大多数布局类都保存在AWT库中。大多数侦听器保存在java中。awt。事件库。

请注意,如果选择使用完全限定的类型名称,则不必导入任何内容。

例如,

java.awt.BorderLayout myBorderLayout = new java.awt.BorderLayout(5, 5);
 类似资料:
  • 问题内容: 只是想知道我们如何在node.js 8中导入模块-我们仍在使用吗? 还是我们仍然需要babel来使用? 我一直在挖掘,但似乎没有答案。如果我们仍然必须使用require,为什么节点还不能实现? 问题答案: UPDATE-2018.11.15↓ 简短答案 我们仍在使用 长答案 ESM加载已部分降落在2017年9月发布的node 上。正因为如此,它已经成为规范的一部分,并且已经作为实验功能

  • 问题内容: 我刚刚升级到(1.5.1)的最新稳定版本,每次导入matplotlib时都会收到以下消息: …总是停顿几秒钟。 这是预期的行为吗?之前也一样,只是没有打印出来的消息吗? 问题答案: 正如汤姆在上面的评论中建议的,删除文件: 解决这个问题。就我而言,文件位于: 已编辑 几天前,该消息再次出现,我删除了上述位置中的文件,但没有成功。我发现,建议在这里通过有一个额外的位置信息与文本缓存文件是

  • 问题内容: 假设我有一个模块和一个子模块。如果要在中使用方法,我是否需要直接导入还是足够导入? 例如,以下引发错误: 和以下作品: 但是我不确定这是否通常是需要的,或者我的代码本身是否有问题。(我认为通常需要直接导入子模块…但是我可能发誓我看到没有直接导入子模块的代码仍然可以正常工作。) 问题答案: 如果要在中使用方法,我是否需要直接导入还是足够导入? 您需要显式导入子模块。执行将自动导入父模块,

  • 当我使用要求时,我得到引用错误:要求没有定义,当我使用导入/导出时,我得到同步错误:不能在模块外部使用导入语句。 是否可能是因为我试图在连接到超文本标记语言文件的JavaScript文件上使用此命令?因为当我在server.js文件(没有连接到任何超文本标记语言文件)中使用此命令时,我通常可以使用要求。 如果有,我该如何克服这个问题。我得到了与每个超文本标记语言页面连接的JavaScript文件,

  • 我在用Android Studio。我试图导入javax.swing.;对于登录页面,所以我尝试编写一个语句来导入,即导入javax.swing.;。 但什么也没发生,这句话让人绝望。 你能教我怎么解决这个问题吗?

  • 问题内容: 我不明白为什么很少有导入包在“ java”后面附加“ x”。是什么原因?难道就和其他人一样吗? 问题答案: Swing最初是Java的扩展-可单独下载的库。它成为Java 1.2中“主要” JRE的一部分。一个单独的库声称拥有java。*包,这很奇怪,因此是目前的情况。还有许多其他扩展都有类似的故事。 在Swing的维基百科的文章有其历史提供更多的信息。