2021-06-10

学习内容
一、常用组件与容器
1.1容器
2布局管理
1.1FlowLayout布局管理器
1.2BordeLayout布局管理器
1.3GridLayout布局管理器
一、常用组件与容器
图形用户界而是由组件和容器构成的。

组件又称控制组件。是图形用户界面不可再分的最小元素,其功能是与用户完成一次交互操作。Swing组件包括一些比较简单的组件,如标签、按钮、组合柜及列表等,也包括一些比较复杂的组件,如文本控件、菜单、表格、进度条、文件选择器等,它们都存放在javax.swing包中。

容器是若干个组件和容器的集合。容器中包含了许多界面元素,这些元素可以是组件,也可以是容器。容器实际是对图形界面中的界面元素的一种管理,其中顶层容器和中间容器是常用的两类形式。

显示在屏幕上的所有组件都必须包含在某个容器中,所以这里首先介绍容器的主要用途及使用方式,然后对一些较为常用的组件进行介绍。

1.1容器
每一个应用组件的应用程序都至少有一个顶层容器 ,应用程序必须创建一个顶层容器之后才能放置其他GUI容器或组件。

Swing提供了4种顶层容器。分别为JFrame、JApplet、JDialog和JWindow。其中,JFrame 和JDialog最为常用。

JFrame

JFreme是最常用的种顶层容器。 它的作用是创建一个顶层的 Windows窗体,它的外观就像平常Windows系统下见到的窗体,带有标题栏和控制按钮等。

JFrame类提供了下面两种格式的构造方法。

(1)JFrame():创建不指定标题的窗体。

(2)JFrame(String title): 创建指定标题的窗体。

JFrame类的其他常用方法有以下几个。

(1 void setDefaultCloseOperation(int op):设置关闭窗口时所做的操作.op可取的值包括HIDE_ON_CLOSE(关闭窗口时隐藏)、EXIT_ON_ CLOSE关闭窗口时退出应用程序,不可用于Applet)、DISPOSE_ON_CLOSE(关闭窗口时隐藏窗口并释放资源)、NOTH_ING_ON_CLOSE(关闭窗口时不做任何事情,通常配合监听器使用)。

(2) void setContentPane(Container contentPane);设置窗口的内容窗格。

(3)Container getContentPane():返回窗口的内容窗格。

(4)void seJMenuBar(JMenuBar menuBar);设置窗口的菜单栏。

(5)JMenuBar geJMenuBar();返回窗口的菜单栏。

(6)void setSize(int widh,int high);将窗口设置宽为wdth,高为hight。

每一个顶层容器都有一个内容窗格(ComemPmo),面层容器中除菜单之外的组件都放在这个内容商格中。可以调用顶层容器中的conmemPn方法得到当前容器的内容窗格,并使用add方法将组件添加到其中。

实例演示:

package com.hg.day27.demo01;

import javax.swing.;
import java.awt.
;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import static javax.swing.WindowConstants.EXIT_ON_CLOSE;

public class DialogDemo01 extends JDialog {

public DialogDemo01(JFrame jframe) {
    super(jframe,false);
    this.setBounds(100,100,500,500);

    Container container = this.getContentPane();
    container.setLayout(null);

// container.add(new Label(“大数据五班”));
JButton button = new JButton(“我是五班”);
button.setBounds(30,30,200,50);
container.add(button);
}

public static void main(String[] args) {
    JFrame j = new JFrame();
    j.setVisible(true);
    j.setBounds(100,100,700,500);
    j.setDefaultCloseOperation(EXIT_ON_CLOSE);

    Container container = j.getContentPane();
    container.setLayout(null);

    JButton button = new JButton("我要登录");
    button.setBounds(30,30,200,50);
    button.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e){
            DialogDemo01 s = new  DialogDemo01(j);
            s.setVisible(true);
            System.out.println("我被点击了");

        }
    });
    container.add(button);
}

}
在这里插入图片描述
前面介绍了Swing容器,以及将组件放入容器中的基本方法,当容器中包含多个组件时,组件的布局包括位置和大小)就显得t分重要。Java布局组件的基本策略是采用布局管理器。每个容器(如顶层容器的内容窗格)都有一个默认的布局管理器,开发者可以通过容器的setLayout()方法改变容器的布局管理器。

实例演示:

package com.hg.day27.demo02;

import javax.swing.;
import java.awt.
;

//面板作为容器不能单独存在,必须放到其他容器里面JFrame,JDialog
public class JScrollDemo extends JFrame {
public JScrollDemo(){
Container container = this.getContentPane();
//文本域
JTextArea textarea =new JTextArea(20,50);
textarea.setText(“大数据五班”);

    //scroll面板
    JScrollPane scrollPane =new JScrollPane(textarea);

// JPanel scrollPane =new JPanel();
// scrollPane.add(textarea);
container.add(scrollPane);

    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setVisible(true);
    this.setBounds(100,100,500,500);

}

public static void main(String[] args) {
    new JScrollDemo();
}

}
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,我们可以使用SimpleDateFormat类来将时间字符串转换为年月日格式。首先,你需要创建一个SimpleDateFormat的对象,并指定日期格式,例如"yyyy-MM-dd"表示年月日的格式。然后,使用该对象的parse()方法将时间字符串解析为一个Date对象。最后,再次使用SimpleDateFormat对象的format()方法将Date对象格式化为另一种日期格式,例如"yyyy年MM月dd日"表示年月日的格式。 以下是一个示例代码: ```java import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateConversion { public static void main(String[] args) { String dateString = "2021-06-10"; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { Date date = dateFormat.parse(dateString); SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy年MM月dd日"); String formattedDate = outputFormat.format(date); System.out.println(formattedDate); } catch (ParseException e) { e.printStackTrace(); } } } ``` 在上面的代码中,我们首先创建了一个SimpleDateFormat对象dateFormat,用于解析时间字符串"2021-06-10"。然后使用parse()方法将时间字符串解析为一个Date对象date。接下来,我们再次创建了一个SimpleDateFormat对象outputFormat,用于定义输出的日期格式为"yyyy年MM月dd日"。最后,使用format()方法将Date对象date格式化为所需的日期格式,并将结果打印出来。 运行以上代码,将输出"20210610日"。这样,我们就成功地将时间字符串转换为年月日格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值