2021-03-10

图形用户界面

Swing

Java图形版本界面由早期的J2SE版本中的AWT过渡到现在的Swing组件,一方面减弱了平台相关性,另一方面增加和还进了许多功能。两者关系:

1. 组件:

(Component类)是可以以图形化的方式显示在屏幕上并能与用户进行交互的对象.Component类是AWT组件类层次结构的根类。

2. 容器:

(Container类)容器类属于Component类的子类,所以容器是一个用来容纳其他组件和容器的组件,容器包括面板和窗口。大多数swing组件类都Container类的子类,所以他们继承了容器的性质。

面板:

面板不能独立运行,必须包含在另一个容器中。

窗口:

窗口类(Window)主要由两个子类:框架(JFrame类)和对话框。
此次我们只讨论JFrame类和JLbel类(用来在图形用户界面上显示一个字符串或一幅图片)的使用,代码:

import javax.swing.*;
import javax.swing.JFrame;
import java.awt.*;

public class JFJL extends JFrame {
    public JFJL(){          //声明构造方法
        super("框架和标签的使用");
        /*
        getContentPane()是javax.swing.JFrame的成员方法,用于返回当前窗口的容器一般不直接使用JFrame容器,而是获取当前窗口的容器c
        ,在C中添加组件
         */
        Container c=getContentPane();
        /*
        c.setLayout是JFrame类的方法,用于设置当前窗口的布局格式,newFlowLayout(FlowLayout.LEFT)是使用java.awt.FlowLayout
        的构造方法实例化一个流布局管理器对象,并使组件自动左对齐
         */
        c.setLayout(new FlowLayout(FlowLayout.LEFT));
        //字符类型的数组
        String[] s={"文本标签","文字在图形上方","文字在图形下方"};
        /*
        使用图像类创建一个数组对象,其中ImageIcon(getClass().getResource(""))用于生成一个图像对象,getClass.
        getResource("")用于获取照片
         */
        ImageIcon[] ic={null,new ImageIcon(getClass().getResource("th.jfif")),new ImageIcon(getClass().getResource("th.jfif"))};
        int [] ih={0,JLabel.LEFT,JLabel.CENTER};     //常量JLabel.LEFT,JLabel.CENTER分别代表了不同的对齐方式
        int [] iv={0,JLabel.CENTER,JLabel.BOTTOM};   //常量JLabel.CENTER,JLabel.BOTTOM分别代表了不同的对齐方式
        for(int i=0;i<3;i++)
        {
            JLabel label=new JLabel(s[i],ic[i],JLabel.LEFT);
            if(i>0)
               {
                label.setHorizontalTextPosition(ih[i]);
                label.setVerticalTextPosition(iv[i]);
               }
            label.setToolTipText("第"+(i+1)+"个标签");
            c.add(label);
        }
    }
public static void main(String[] args) {
		 JFJL app=new JFJL();
//		 app=new JFJL();
       app.setSize(600,300);
       app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       app.setVisible(true);
	 }
}

这就是运行结果
在这里插入图片描述

embedcpp-2021-03一个有关嵌入式C++编程的课程,于2021年3月举办。嵌入式C++编程是指在嵌入式系统中使用C++编程语言进行开发的一种方法。 在嵌入式系统中,资源通常是有限的,例如处理器速度、内存容量和存储空间等。因此,使用C++编程语言可以提供更高的灵活性和效率,帮助开发人员充分利用有限的资源。C++在嵌入式系统中的应用范围广泛,例如物联网设备、汽车电子和工业自动化等领域。 embedcpp-2021-03课程旨在向学员介绍嵌入式C++编程的基础知识和技巧。课程内容通常包括以下方面: 1. C++语法和特性:介绍C++的基本语法、面向对象编程和泛型编程等概念,以及C++11、C++14和C++17的一些新特性。 2. 嵌入式系统概述:了解嵌入式系统的基本特点、硬件和软件组成,以及与传统桌面开发的区别。 3. 低级编程:学习如何与硬件交互,包括使用寄存器、配置外设和处理中断等。还可以介绍使用汇编语言优化性能的技巧。 4. 内存管理:探讨嵌入式系统中的内存管理技术,包括堆栈和堆的使用、动态内存分配和对象生命周期管理等。 5. 实时操作系统(RTOS):介绍嵌入式系统中常用的实时操作系统,如FreeRTOS和µC/OS等,学习如何使用RTOS进行任务调度和资源管理。 除了理论知识,embedcpp-2021-03课程通常还包括实际的项目练习,以帮助学员将所学知识应用于实际场景。通过该课程,学员可以了解嵌入式C++编程的基础概念和实践技巧,为嵌入式系统开发提供了一定的基础。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值