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。 |
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。 |
- 通过创建Frame类的对象(关联)
- 通过扩展Frame类(继承)
简单的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 JFrameJButton b=new JButton("click");
//creating instance of JButton
b.setBounds(130, 100, 100, 40);
//x axis, y axis, width, heightf.add(b);
//adding button in JFramef.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 JFrameJButton b=new JButton("click");
//creating instance of JButton
b.setBounds(130, 100, 100, 40);
f.add(b);
//adding button in JFramef.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();
}}
推荐阅读
- Java中的记事本以及源代码
- 如何在Windows 10中修复Failed Ntfs.sys(解决办法教程)
- 移动web APP开发所用到的好网站 好代码
- 韩剧TV APP案例分析
- Xamarin.Android Binding-----百度地图SDK
- android ——后台下载
- apollo实现c#与android消息推送
- Android Studio中导入Eclipse项目后乱码的解决方法
- leetcode 42. Trapping Rain Water