java - 什么时候需要导入 java.awt.*?如果我想导入 javax.swing.* 是否还需要导入 java.awt.*?

标签 java swing awt

我正在重新使用 Java 并审查我的一些旧代码,并且我看到了很多我已经完成的地方

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

或者实际上从 swing/awt 包中导入特定的类。我不记得我是否需要导入 java.awt.* 才能使用 javax.swing.* 中的任何内容,或者我是否会出于其他原因导入 java.awt.*?换句话说,导入 java.awt.* 的目的是什么?我的印象是使用 JButton、JFrame 等所需的一切都在 javax.swing.* 中。

最佳答案

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

I can't remember if I need to import java.awt.* to use anything in javax.swing.* or would I have imported java.awt.* for another reason? In other words, what is the purpose of importing java.awt.* ?

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

I was under the impression everything I needed to use JButton, JFrame, etc. was in javax.swing.*.

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

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

例如,

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

关于java - 什么时候需要导入 java.awt.*?如果我想导入 javax.swing.* 是否还需要导入 java.awt.*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20207360/

相关文章:

java - 您对 JLabel 类做了什么?它说, "JLabel not a statement"表示错误

java - 缩放效果未显示在框架中

java - Jbutton 在单击时由于执行的操作而挂起

java - 未检测到 MouseListener

java - 使用 Tesseract hOCR 提取文本属性

java - Java 中的非法日期字符串

java - List DataModel 只读取最后一个元素

java - 需要帮助在排序的 LinkedList 中添加节点

java - 如何将数据(实际上是Jtable数据)添加到数据库中。有没有办法使用preparedstmt将对象插入数据库?

Java Swing 类无法转换为 DefaultListModel