signed

QiShunwang

“诚信为本、客户至上”

学习Java26天

2021/6/3 13:30:59   来源:

图形用户界面编程

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 图形用户界面编程
  • 前言
  • 一、JFrame
  • 二、JDialog
    • 1.JFrame的窗口代码
    • 2.JDialog窗口代码
  • 总结


前言

Java的应用程序的图形界面是通过Java API提供的Java.awt或者Javax.swing包中的组件实现的。这些组件所构成的GUI系统通常包括以下几个部分
1.最基本的图形用户界面组件,如:菜单、按钮、文本字段等,展示系统可用的操作
2.容器组件,如窗口、面板等。用于容纳基本组件
3.布局管理组件,负责容器中组件的布局,可进一步美化图形用户界面
4.事件的处理
在这里插入图片描述
标签(JLabel)

一、JFrame

JFrame是最常见的一种顶层容器,它的作用是创建一个顶层的Windows窗体,它的外观就像平常Windows系统下见到的窗体,带有标题栏好控制按钮等
构成方法:
(1)JFrame():创建不制定的标题窗体
(2)JFrame(String title):创建制定标题的窗体
注意:点击关闭没有结束程序的运行
/*/
* EXIT_ON_CLOSE:隐藏窗体,并停止程序
* DO_NOTHING_ON_CLOSE:无任何操作
* HIDE_ON_CLOSE:隐藏窗体,但是不停止程序
* DISPOSE_ON_CLOSE:释放窗体资源
*/

二、JDialog

与JFrame一样,JDialog(对话框窗口)也是一种顶层容器,但不能作为独立的窗口容器使用,必须依附于某个窗口(通常是JFrame)。可以向对话框窗口添加其他组件,添加方法与JFrame一样。

1.JFrame的窗口代码

package Demo01;

import java.awt.Color;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class jFrameTest extends JFrame {
public jFrameTest(){
setVisible(true);
//注意:点击关闭没有结束程序的运行
/*/
* EXIT_ON_CLOSE:隐藏窗体,并停止程序
* DO_NOTHING_ON_CLOSE:无任何操作
* HIDE_ON_CLOSE:隐藏窗体,但是不停止程序
* DISPOSE_ON_CLOSE:释放窗体资源
*/
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocation(300, 600);//设置位置单位是像素,从左上角0.0开始
setSize(300,200);//设置大小,单位:像素
setBounds(200,200,400,600);

	Container c=getContentPane();
	c.setBackground(Color.pink);//设置背景颜色
	
	JLabel l=new JLabel("自动登录");
	c.add(l);//添加组件
	//c.remove(l);//移除组件
	c.validate();
	//f.setContentPane(c);
	setResizable(true);
	System.out.println("X="+getX()+"Y="+getY());
	
}


public static void main(String[] args) {
	JFrame f=new JFrame("窗体标题");//创建窗体对象,可在参数中设置窗体标题
	//设置窗体可见
	new jFrameTest();
}

}

2.JDialog窗口代码

package Demo01;

import java.awt.Container;

import javax.swing.JDialog;
import javax.swing.JLabel;

public class JDialogTest extends JDialog {
public JDialogTest() {

}
public static void main(String[] args) {
	JDialog jd=new JDialog();
	jd.setVisible(true);
	jd.setBounds(200,200,400,600);
	
	Container c=jd.getContentPane();//获取窗体容器
	c.add(new JLabel("这是一个标签"));
	
	
	
}

}

总结