JAVA学习

Day26
一、学习目标
1.图形界面
2.窗体
二、知识点
1.图形界面
一个图形用户界面是屏幕上的一个程序窗口,屏幕也称为桌面。
屏幕坐标系:图形用户界面使用屏幕坐标系确定窗口位置,原点位于屏幕左上角,右为X轴正向,下为Y轴正向,坐标系单位为像素。窗口:窗口由程序创建,用于程序与用户间的交互。
2.窗体

  • 从应用程序开发员的角度
    窗口就是图形用户界面句柄,以该句柄作为系统API的参数,就可以对窗口进行各种操作
  • 从MFC程序员角度
    窗口就是一个CWnd对象
  • 从操作系统角度
    窗口是一块普通内存块.该内存中保存了一个数据结构的信息(WNDCLASS).操作系统利用这个数据结构维护窗口状态
    ●窗体位置、大小与状态
    (1)窗体位置Location
    即决定了窗体的左上角在屏幕上的横,纵坐标(一般可直接在面板中设置)
    (2)窗体大小Size
    即包括Width宽,Height高,定义了窗体的初始宽度和高度;
    注:在代码中设置窗体的Width,Height值,可实现在程序运行中改变窗体的大小;
    最大值与最小值可以通过窗体的MaximumSize和MinimumSize两个属性设置;
    (3)窗体状态WindowState
    即窗体正常状态(Normal)
    窗体最小化状态(Minimized)
    窗体最大化状态(Maximized)
    ●窗体的字体、颜色与外形
    (1)Font字体属性
    即指定显示的文本的字体,包括字体的Name,Size等;
    (2)ForeColor窗体前景色
    即指定的窗体的文本色;
    (3)BackColor窗体的背景色
    即指定的窗体底色;
    (4)BorderStyle窗体边框
    即指定窗体边框样式;
    1.无边框——None;
    2.固定三维边框——Fixed3D;
    3.固定对话框样式的粗边框——FixedDialog
    4.固定单行边框——FixedSingle
    5.不可调整大小的工具窗体边框——FixedToolWindow
    6.可调整大小的工具窗体边框——SizableToolWindow
    7.可调整大小的边框——Sizable(一般为窗体的默认风格)
    在这里插入图片描述
    三、应用运行
    1.图形界面
    代码示例
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.DISPOSE_ON_CLOSE);
		setLocation(200,300);//设置位置,单位是像素,从左上角0.0开始
		//setSize(400, 300);//设置大小,单位:像素
		setBounds(200,200,400,300);
		Container c=getContentPane();
		c.setBackground(Color.yellow);//设置背景颜色
		JLabel l=new JLabel("喜欢动漫");
		c.add(l);//添加组件
		//c.remove(l);//移除组件
		c.validate();
		//f.setContentPane(c);
	    setResizable(false);//默认true能够改变大小
	    System.out.println("x="+getX()+"Y="+getX());
	}
	public static void main(String[] args) {
		//JFrame f=new JFrame("小石");//创建窗体对象,在参数设置窗体标题
	    new jFrameTest();
	}
}

运行结果
在这里插入图片描述
代码示例
窗口的设置

package demo01;
import java.awt.Container;
import javax.swing.JDialog;
import javax.swing.JLabel;
public class JDialogTest extends JDialog{
    public static void main(String[] args) {
    	JDialog jd=new JDialog();
    	jd.setVisible(true);
    	jd.setBounds(200,300,400,400);
    	Container c=jd.getContentPane();//获取窗体容器
    	c.add(new JLabel("啊哈"));
    }
}
package demo01;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
public class JDialogTest2 extends JDialog{
	public JDialogTest2(JFrame frame) {
		super(frame,"对话框",true);
		setVisible(true);//设置窗体可见
		setBounds(100,100,100,100);
		//tDefaultCloseOperation(EXIT_ON_CLOSE);
	}
	public static void main(String[] args) {
		JFrame f=new JFrame("父窗体");
		f.setBounds(50,50,300,300);
		Container c=f.getContentPane();
		JButton btn=new JButton("弹出对话框");
		c.setLayout(new FlowLayout());
		c.add(btn);
		f.setVisible(true);
		f.setDefaultCloseOperation(EXIT_ON_CLOSE);
		btn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JDialogTest2 jd=new JDialogTest2(f);
				jd.setVisible(true);
			}
		});
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值