图形用户界面主要是由窗口以及窗口中的组件构成的,编写Swing程序主要就是创建窗口和添加组件过 程。Swing中的窗口主要是使用JFrame。JFrame有标题、边框、菜单、大小和窗口 管理按钮等窗口要素。
构建Swing程序主要有两种方式:创建JFrame或继承JFrame。
一、创建JFrame方式
创建JFrame方式就是直接实例化JFrame对象,然后设置JFrame属性,添加窗口所需要的组件。
代码如下:
import javax.swing.*;
import java.awt.*;
/**
* @author : 蔡政洁
* @email :[email protected]
* @date : 2020/2/22
* @time : 11:36 下午
*/
public class SwingDome1 {
public static void main(String[] args) {
// 创建窗口对象
JFrame jFrame = new JFrame("MyFrame");
// 创建标签
JLabel label = new JLabel("Hello Swing");
// 获得窗口的内容板面
Container container = jFrame.getContentPane();
// 添加标签到内容板面
container.add(label);
// 设置窗口大小
jFrame.setSize(300,300);
jFrame.setVisible(true);
}
}
默认情况下JFrame是没有大小且不可见的,因此创建JFrame对象后还需要设置大小和可 见,注意 设置JFrame窗口大小和可见这两条语句,应该在添加完成所有组件之后调用。否则 在多个组件情况下,会导致有些组件没有显示。
创建步骤:创建窗口—— 获得窗口的内容面板或菜单栏—— 创建组件——将创建的组件添加到内容面板 ——设置窗口大小和组件
在Swing中添加到JFrame上的所有可见组件,除菜单栏外,全部添加到内容面板上, 而不要直接添加到JFrame上,这是Swing绘制系统所要求的。
图解JFrame的内容面板
几乎所有的图形用户界面技术,在构建界面时都采用层级结构(树形结构)
根是顶级容器(只能包含其他容器的容器),子容器有内容面板和菜单栏(本 例中没有菜单),然后其他的组件添加到内容面板容器中。所有的组件都有add()方法通 过,通过调用add()方法将其他组件添加到容器中,作为当前容器的子组件。
二、继承JFrame方式
继承JFrame方式就是编写一个继承JFrame的子类,在构造方法中初始化窗口,添加窗口所需要 的组件。
代码如下:
import javax.swing.*;
import java.awt.*;
/**
* @author : 蔡政洁
* @email :[email protected]
* @date : 2020/2/22
* @time : 11:45 下午
*/
public class MyFrame extends JFrame {
public MyFrame(String title){
super(title);
// 创建标签
JLabel label = new JLabel("Hello World");
// 获得窗口内容板面
Container container = getContentPane();
// 添加标签到内容板面
container.add(label);
// 设置窗口大小
setSize(300,300);
setVisible(true);
}
}
//调用代码
class HelloWorld{
public static void main(String[] args) {
// 创建MyFrame对象
MyFrame myFrame = new MyFrame("MyFrame");
}
}
以上两种方式运行效果完全一样
运行结果:
创建JFrame方式适合于小项目,代码量少、窗口不多、组件少的情况。继承JFrame 方式,适合于大项目,可以针对不同界面自定义一个Frame类,属性可以在构造方法中进行 设置;缺点是有很多类文件需要有效地管理。
以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!