查看原文
其他

Java教程-Java Swing 教程

点击关注👉 鸭哥聊Java 2023-08-31
整理:Java面试那些事儿

Java Swing 教程是 Java Foundation Classes (JFC) 的一部分,用于创建基于窗口的应用程序。它建立在 AWT (Abstract Windowing Toolkit) API 的基础上,完全使用 Java 编写。

与 AWT 不同,Java Swing 提供了平台无关和轻量级的组件。

javax.swing 包提供了用于 Java Swing API 的类,例如 JButton、JTextField、JTextArea、JRadioButton、JCheckbox、JMenu、JColorChooser 等。

AWT 和 Swing 之间的区别


Java AWT 和 Swing 之间有许多区别,如下所示。



什么是 JFC


Java Foundation Classes (JFC) 是一组简化桌面应用程序开发的 GUI 组件。


专属福利

👉点击领取:Java资料合集,650G!


Java Swing 类的层次结构


Java Swing API 的层次结构如下所示。

Component 类的常用方法


Component 类的方法在 Java Swing 中被广泛使用,如下所示。
MethodDescription
public void add(Component c)
在另一个组件上添加一个组件。
public void setSize(int width,int height)
设置组件的大小。
public void setLayout(LayoutManager m)
为组件设置布局管理器。
public void setVisible(boolean b)
设置组件的可见性。默认情况下为假。


Java Swing 示例


创建 Frame 的两种方式:

  • 通过创建 Frame 类的对象(关联)
  • 通过扩展 Frame 类(继承)

我们可以将 Swing 代码编写在 main()、构造函数或任何其他方法中。

简单的 Java Swing 示例


下面是一个简单的 Swing 示例,在 main() 方法中创建一个按钮并将其添加到 JFrame 对象中。


文件:FirstSwingExample.java
import javax.swing.*; public class FirstSwingExample { public static void main(String[] args) { JFrame f=new JFrame();//创建JFrame的实例 JButton b=new JButton("click");//创建JButton实例 b.setBounds(130,100,100, 40);//x轴,y轴,宽,高 f.add(b);//在JFrame中添加按钮 f.setSize(400,500);//400宽500高 f.setLayout(null);//不使用布局管理器 f.setVisible(true);//使框架可见 } } }


通过构造函数在关联内编写 Swing 的示例


我们还可以在 Java 构造函数中编写创建 JFrame、JButton 和方法调用的所有代码。


文件:Simple.java
import javax.swing.*; public class Simple { JFrame f; Simple(){ f=new JFrame();//creating instance of JFrame JButton b=new JButton("click");//creating instance of JButton b.setBounds(130,100,100, 40); f.add(b);//adding button in JFrame f.setSize(400,500);//400 width and 500 height f.setLayout(null);//using no layout managers f.setVisible(true);//making the frame visible } public static void main(String[] args) { new Simple(); } }
上面的示例中使用了 setBounds(int xaxis, int yaxis, int width, int height) 方法,该方法设置了按钮的位置。

通过继承实现 Swing 的简单示例


我们还可以继承 JFrame 类,因此无需显式创建 JFrame 类的实例。


文件:Simple2.java
import javax.swing.*; public class Simple2 extends JFrame{//inheriting JFrame JFrame f; Simple2(){ JButton b=new JButton("click");//create button b.setBounds(130,100,100, 40); add(b);//adding button on frame setSize(400,500); setLayout(null); setVisible(true); } public static void main(String[] args) { new Simple2(); }}


最近技术热文


我就知道你会点赞+“在看”

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存