Java Swing教程是Java基础类(JFC)的一部分, 用于创建基于窗口的应用程序。它建立在AWT(抽象窗口工具包)API的顶部, 并且完全用Java编写。
与AWT不同, Java Swing提供了平台无关的轻量级组件。
javax.swing包提供了Java swing API的类, 例如JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser等。
AWT和Swing之间的区别
下面给出了java awt和swing之间的许多差异。
没有。 | Java AWT | Java秋千 |
---|---|---|
1) | AWT组件取决于平台。 | Java swing组件与平台无关。 |
2) | AWT组件是重量级的。 | 摇摆组件轻巧。 |
3) | AWT不支持可插入的外观。 | 秋千支持可插拔的外观。 |
4) | AWT提供的组件少于Swing。 | Swing提供了更强大的组件, 例如表格, 列表, 滚动窗格, colorchooser, tabbedpane等。 |
5) | AWT不遵循MVC(模型视图控制器), 在模型模型中, 模型表示数据, 视图表示表示, 控制器充当模型与视图之间的接口。 | 摆动跟随MVC。 |
什么是JFC
Java基础类(JFC)是一组GUI组件, 可简化桌面应用程序的开发。
你知道吗
Java Swing类的层次结构
Java swing API的层次结构如下。
组件类的常用方法
Component类的方法在下面的java swing中被广泛使用。
方法 | 描述 |
---|---|
public void add(Component c) | 在另一个组件上添加一个组件。 |
public void setSize(int width, int height) | 设置组件的大小。 |
public void setLayout(LayoutManager m) | 设置组件的布局管理器。 |
public void setVisible(boolean b) | 设置组件的可见性。默认情况下为false。 |
Java Swing示例
有两种创建框架的方法:
- 通过创建Frame类的对象(关联)
- 通过扩展Frame类(继承)
我们可以在main(), 构造函数或任何其他方法中编写swing代码。
简单的Java Swing示例
让我们看一个简单的swing示例, 在该示例中, 我们将创建一个按钮并将其添加到main()方法内的JFrame对象上。
文件:FirstSwingExample.java
import javax.swing.*;
public class FirstSwingExample {
public static void main(String[] args) {
JFrame f=new JFrame();//creating instance of JFrame
JButton b=new JButton("click");//creating instance of JButton
b.setBounds(130, 100, 100, 40);//x axis, y axis, width, height
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
}
}
在构造函数中按关联摆动的示例
我们还可以在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();
}}
评论前必须登录!
注册