AWT常用组件

news2024/10/5 17:15:44

AWT中常用组件

  • 前言
  • 一、基本组件
    • 组件名
      • 标签(Label类)
        • Label类的构造方法
        • 注意要点
      • 按钮(Button)
        • Button的构造方法
        • 注意要点
      • 文本框(TextField)
        • TextField类的构造方法
        • 注意要点
      • 文本域(TextArea)
        • TextArea 的构造方法
        • 参数scrollbars的静态常量值
      • 复选框(Checkbox)
        • Checkbox类的构造方法
      • 单选按钮组的实现(结合使用CheckboxGroup类)
      • 下拉列表(Choice)
        • Choice类的常用成员方法
      • 列表(List)
        • List的常用成员方法
    • 代码示例
  • 二、对话框Dialog
    • 简介
    • 注意事项
    • 方法名称
    • 代码示例1
    • 代码示例2
  • 三、FileDialog
    • 简介
    • 方法名称
    • 代码示例


前言

推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默,对我帮助很大。我想与大家分享这个宝藏网站,请点击下方链接查看。
https://www.captainbed.cn/f1

AWT中常用组件包括多种界面元素,用于构建图形用户界面。这些组件提供了丰富的交互功能,使得开发者能够创建出功能强大的应用程序。通过合理选择和组合这些组件,开发者能够设计出符合用户需求的界面,提升用户体验。


一、基本组件

组件名

组件名功能
ButtonButton
Canvas用于绘图的画布
Checkbox复选框组件(也可当做单选框组件使用)
CheckboxGroup用于将多个Checkbox 组件组合成一组, 一组 Checkbox 组件将只有一个可以 被选中 , 即全部变成单选框组件
Choice下拉选择框
Frame窗口 , 在 GUI 程序里通过该类创建窗口
Label标签类,用于放置提示性文本
ListJU表框组件,可以添加多项条目
Panel不能单独存在基本容器类,必须放到其他容器中
Scrollbar滑动条组件。如果需要用户输入位于某个范围的值 , 就可以使用滑动条组件 ,比如调 色板中设置 RGB 的三个值所用的滑动条。当创建一个滑动条时,必须指定它的方向、初始值、 滑块的大小、最小值和最大值。
ScrollPane带水平及垂直滚动条的容器组件
TextArea多行文本域
TextField单行文本框

这些 AWT 组件的用法比较简单,可以查阅 API 文档来获取它们各自的构方法、成员方法等详细信息。

标签(Label类)

标签是 GUI 程序中的常用组件,显示一行文本作为提示信息,起到说明的作用。通常,是不可编辑的;在AWT 的Label 类实例化标签对象时,可通过构造方法的参数赋值指定标签上文本的对齐方式。Label类的构造方法如表所示。

Label类的构造方法
构造方法描述
Label()实例化空标签对象
Label(String text)使用指定的文本字符串实例化标签对象,其文本对齐方式为左对齐
Label(String text, int alignment)实例化一个显示指定的文本字符串的新标签对象,其文本对齐方式为指定的方式

Label 对象不仅可在实例化时,指定文本对齐方式,还可在此后调用成员方法setAlignment(int alignment)进行设置。它们的参数 alignment是用于指定对齐方式的 int 型数据,在 Label 中为其定义了3个静态常量:Label.LEFT 表示左对齐(int 值 0), Label.CENTER 表示居中对齐(int值1),Label RIGHT 表示右对齐(int值 2)。

注意要点
  • setBackground(Color.red);设置背景颜色
  • setText("");修改标签
  • setAlignment(Label.CENTER);修改对齐方式

按钮(Button)

按钮是 GUI程序中的常用组件,用于触发特定动作,从而实现人机交互。通常,一个按钮对应着一种特定的操作,如确定、保存、取消等,从而用户可以用鼠标单击它来控制程序运行的流程。AWT的Button 类实例化按钮对象,该类的构造方法进行了两次重载。Button类的构造方法见表。

Button的构造方法
构造方法描述
Button()实例化一个标签字符串为空的按钮
Button(String label)实例化一个带指定标签的按钮。
注意要点
  • setLabel()设置文本标签
  • setActionCommand(String command)为激发事件设置名称
  • 程序中调用了 Button的成员方法 setLabel()setActionCommand(), 注意二者的区别:与它们互逆操作的成员方法是 getLabel()getActionCommand()

文本框(TextField)

文本框是 GUI 程序中的常用组件,用来显示或编辑一行文本。在 AWT 中,由类TextField 实例化文本框对象,该类继承自 TextComponent 类。TextField 类的构造方法有4种重载形式,通过给参数赋值,可以设置文本框中的初始文本字符,以及文本框的列数。TextField类的构造方法见表。

TextField类的构造方法
构造方法描述
TextField()实例化无内容的文本框对象
TextField(int columns)实例化文本框对象,指定列数
TextField(String text)实例化文本框对象,指定初始化文本
TextField(String text, int columns)实例化文本框对象,指定初始化文本、列数
注意要点

TexField 对象常用的成员方法与文本内容的设置与获取有关,分别是 setText()getText()。如果把文本框设计为密码框,则调用成员方法 setEchoChar()设置回显字符,成员方法 getEchoChar()获取回显字符。

文本域(TextArea)

文本域类 TextArea 与 TextField 一样,都是文本编辑组件,同属 TextComponent的子类,只是文本域可以显示多行多列的文本。TextArea类的构造方法有5 种重载形式,通过参数赋值,不但可以像 TextField 一样指定初始化文本内容、列数,而且可以指定文本域的行数、垂直滚动条的显示。TextArea 的构造方法见表。

TextArea 的构造方法
构造方法描述
TextArea()实例化无内容的文本域对象
TextArea(int rows, int columns)实例化文本域对象,指定行数和列数
TextArea(String text)实例化具有指定文本的文本域对象
TextArea(String text, int rows, int columns)实例化文本域对象,指定初始文本内容、数和列数
TextArea(String text, int rows, int columns, intscrollbars)实例化文本域对象,指定文本、行数、列数和滚动条可见性

在类 TextArea 中为参数 scrollbars定义了相应的静态常量。文本域中的文本并不能自动换行,可以通过为参数 scrollbars 赋值TextArea.SCROLLBARS_VERTICAL_ONLY 来实现。

参数 scrollbars 的静态常量值见表。

参数scrollbars的静态常量值
构造方法描述
SCROLLBARS_BOTH显示垂直和水平滚动条
SCROLLBARS_HORIZONTAL_ONLY显示水平滚动条
SCROLLBARS_NONE不显示滚动条
SCROLLBARS_VERTICAL_ONLY显示垂直滚动条

除了与TextField相似的常用成员方法,类TextArea还经常用到成员方法append(String str),将给定文本追加到文本区的当前文本;setEditable()设置是否可以编辑。

复选框(Checkbox)

复选框是一种输入信息的组件,拥有“状态”的特性,通过鼠标单击复选框的操作可以将其状态从“true”更改为“false”,或从“false” 更改为“true”。通过布局设置,多个复选框组件可形成一组,实现多项选择。

AWT 的 Checkbox类实例化复选框对象,构造方法有5种重载形式。通过给 Checkbox 类构造方法的参数赋值,可以设置复选框的文本标签内容,以及复选框的状态值。Checkbox类的构造方法见表。

Checkbox类的构造方法
构造方法描述
Checkbox()创建复选框,未指定标签内容
Checkbox(String label)创建复选框,指定标签内容
Checkbox(String label, boolean state)创建复选框,即指定标签,也指定状态
Checkbox(String label, boolean state,CheckboxGroup group)创建Checkbox 对象,指定标签,指定状态,指定复选框组
Checkbox(String label, CheckboxGroup group,boolean state)创建 Checkbox对象,指定标签,指定复选框组,指定状态

Checkbox 对象常用的成员方法与其状态有关,setState(boolean state)设置状态值,getState()获取状态值。

单选按钮组的实现(结合使用CheckboxGroup类)

单选按钮是一种输入信息的组件,拥有“状态”的特性,通过鼠标单击单选按钮的操作可以将其状态从“true” 更改为“false”,或从“false”更改为“true”。作为同一组的多个单选按钮组件是互斥的,即每一时刻只能有一个组件的状态为“true”,从而实现单项选择。

在AWT中,单选按钮对象的创建也是通过 Checkbox类实例化的。参数 group 是类 CheckboxGroup 的对象,同一组的单选按钮,必须保证 group 参数相同。

import java.awt.*;
import java.awt.event.ActionEvent;

public class test extends Frame {
    Panel panel = new Panel();
    CheckboxGroup group = new CheckboxGroup();
    Checkbox checkbox1 = new Checkbox("boy",group,true);
    Checkbox checkbox2 = new Checkbox("girl",group,false);
     public  test(String s)
     {
         super(s);
         panel.add(checkbox1);
         panel.add(checkbox2);
         add(panel);
         pack();
         setVisible(true);
     }

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

下拉列表(Choice)

下拉列表是一种输入信息的组件,带有一系列选项,每次可以从中选择一项作为输入,即支持单选。下拉列表将所有的选项进行隐藏,当选用其中的选项时才会显示出来,这样能够节省显示空间,适用于待选择选项较多的情况。

AWT中的类 Choice 实例化得到下拉列表组件,它的构造方法 Choice()创建一个没有任何选项的空白下拉菜单。此后,调用成员方法 add(Sring item)添加选项 item;默认情况下,添加的第一个项将成为选定项。类 Choice的常用成员方法与选项的增、删、选等有关。Choice 类的常用成员方法见表。

Choice类的常用成员方法
成员方法描述
void add(String item)将一个选项添加到 Choice 下拉列表中
String getltem(int index)获取 Choice 下拉列表中指定索引上的字符串
int getltemCount()返回 Choice下拉列表中项的数量
int getSelectedIndex()返回当前选定项的索引
String getSelectedItem()获取当前选择项的内容
void remove(int index)删除指定位置的选项
void removeAll()移除 Choice 下拉列表中所有项
void select(int index)选择指定索引的选项
void select(String str)选择指定字符串的选项

列表(List)

列表是一种输入信息的组件,提供了一个可滚动的选项列表;通过设置,每次可以从中选择单项或多项作为输入。列表将所有选项罗列和显示在列表框中,比下拉列表更加直观。

AWT的List 类实例化列表组件,提供多个文本选项,支持滚动条。它的构造方法有3种重载形式,通过参数赋值可以指定列表项数目,以及是否允许进行多项选择。无论哪种形式的构造方法,创建的都是空白列表。此后,调用成员方法add()添加选项。下面的语句演示了List 创建列表:

List Ist = new List(4, false);
Ist.add("Mercury");
Ist.add("Venus");
Ist.add("Earth");
Ist.add("JavaSoft");

类List的常用成员方法(见表) 与选项的增、删、选等有关。

List的常用成员方法
成员方法描述
String getSelectedItem(int )返回选中的字符串
int countItems()返回列表条目数
int getSelectedIndex ()返回当前选项的索引
String getltem(int)返回指定索引处的字符串
void removeAll()删除所有选项
void remove(int)删除指定位置的选项
void addItem(String , int)在指定位置加入一个选项
void addltem (String)向列表末尾加入一个选项
void select(String)选择指定字符串的选项

代码示例

实现下图效果
在这里插入图片描述

import java.awt.*;

public class test {
    Frame frame = new Frame("test");

    //定义一个按钮
    Button ok = new Button("right");

    //定义一个复选框组
    CheckboxGroup cbg = new CheckboxGroup();
    //定义一个单选框,初始处于被选中状态,并添加到cbg组中
    Checkbox male = new Checkbox("man", cbg, true);

    //定义一个单选框,初始处于未被选中状态,并添加到cbg组中
    Checkbox female = new Checkbox("girl", cbg, false);

    //定义一个复选框,初始处于未被选中状态
    Checkbox married = new Checkbox("married?", false);

    //定义一个下拉选择框
    Choice colorChooser = new Choice();

    //定义一个列表选择框
    List colorList = new List(6, true);

    //定义一个5行,20列的多行文本域
    TextArea ta = new TextArea(5, 20);

    //定义一个50列的单行文本域
    TextField tf = new TextField(50);

    public void init() {
        //往下拉选择框中添加内容
        colorChooser.add("red");
        colorChooser.add("gree");
        colorChooser.add("blue");

        //往列表选择框中添加内容
        colorList.add("red");
        colorList.add("gree");
        colorList.add("blue");

        //创建一个装载按钮和文本框的Panel容器
        Panel bottom = new Panel();
        bottom.add(tf);
        bottom.add(ok);

        //把bottom添加到Frame的底部
        frame.add(bottom,BorderLayout.SOUTH);

        //创建一个Panel容器,装载下拉选择框,单选框和复选框
        Panel checkPanel = new Panel();
        checkPanel.add(colorChooser);
        checkPanel.add(male);
        checkPanel.add(female);
        checkPanel.add(married);

        //创建一个垂直排列的Box容器,装载 多行文本域和checkPanel
        Box topLeft = Box.createVerticalBox();
        topLeft.add(ta);
        topLeft.add(checkPanel);

        //创建一个水平排列的Box容器,装载topLeft和列表选择框
        Box top = Box.createHorizontalBox();
        top.add(topLeft);
        top.add(colorList);

        //将top添加到frame的中间区域
        frame.add(top);


        //设置frame最佳大小并可见
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {

        new test().init();

    }
}

二、对话框Dialog

简介

Dialog 是 Window 类的子类,是 一个容器类,属于特殊组件 。 对话框是可以独立存在的顶级窗口, 因此用法与普通窗口的用法几乎完全一样,但是使用对话框需要注意下面两点:

注意事项

  • 对话框通常依赖于其他窗口,就是通常需要有一个父窗口;
  • 对话框有非模式(non-modal)和模式(modal)两种,当某个模式对话框被打开后,该模式对话框总是位于它的父窗口之上,在模式对话框被关闭之前,父窗口无法获得焦点。

方法名称

方法名称方法功能
Dialog(Frame owner, String title, boolean modal)创建一个对话框对象:
owner:当前对话框的父窗口
title:当前对话框的标题
modal:当前对话框是否是模式对话框,true/false

代码示例1

通过Frame、Button、Dialog实现下图效果:
在这里插入图片描述

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class test {

    public static void main(String[] args) {

        Frame frame = new Frame("test:Dialog");

        Dialog d1 = new Dialog(frame, "modal", true);
        Dialog d2 = new Dialog(frame, "no modal", false);

        Button b1 = new Button("modal");
        Button b2 = new Button("no modal");

        //设置对话框的大小和位置
        d1.setBounds(20,30,300,400);
        d2.setBounds(20,30,300,400);

        //给b1和b2绑定监听事件
        b1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                d1.setVisible(true);
            }
        });
        b2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                d2.setVisible(true);
            }
        });

        //把按钮添加到frame中
        frame.add(b1);
        frame.add(b2,BorderLayout.SOUTH);

        //设置frame最佳大小并可见
        frame.pack();
        frame.setVisible(true);
    }
}

该程序使用Java的AWT(Abstract Window Toolkit)库创建了一个窗口和两个对话框。程序的主要部分在main方法中。

首先,创建了一个Frame对象,表示窗口,并设置了窗口的标题为"test:Dialog"。

然后,创建了两个Dialog对象,表示对话框。第一个对话框是模态对话框(modal),第二个对话框是非模态对话框(no modal)。模态对话框会阻塞其他窗口的操作,直到对话框被关闭,而非模态对话框不会阻塞其他窗口的操作。

接下来,创建了两个Button对象,分别用来触发显示对话框的操作。第一个按钮是"modal",点击后会显示第一个对话框,第二个按钮是"no modal",点击后会显示第二个对话框。

然后,设置了两个对话框的大小和位置。

接着,给两个按钮绑定了监听器,当按钮被点击时,对应的对话框会显示出来。在监听器的实现中,调用对话框的setVisible(true)方法显示对话框。

最后,将两个按钮添加到窗口的布局中,并设置窗口的最佳大小并可见。

这样,运行程序后,会显示一个窗口和两个按钮,点击按钮会显示对应的对话框。

在Dialog对话框中,可以根据需求,自定义内容

代码示例2

点击按钮,弹出一个模式对话框,其内容如下
在这里插入图片描述

public class DialogDemo2 {

    public static void main(String[] args) {

        Frame frame = new Frame("这里测试Dialog");

        Dialog d1 = new Dialog(frame, "模式对话框", true);

        //往对话框中添加内容
        Box vBox = Box.createVerticalBox();

        vBox.add(new TextField(15));
        vBox.add(new JButton("确认"));
        d1.add(vBox);

        Button b1 = new Button("打开模式对话框");

        //设置对话框的大小和位置
        d1.setBounds(20,30,200,100);


        //给b1绑定监听事件
        b1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                d1.setVisible(true);
            }
        });


        //把按钮添加到frame中
        frame.add(b1);

        //设置frame最佳大小并可见
        frame.pack();
        frame.setVisible(true);

    }
}

三、FileDialog

简介

Dialog 类还有 一个子类 : FileDialog ,它代表一个文件对话框,用于打开或者保存 文件,需要注意的是FileDialog无法指定模态或者非模态,这是因为 FileDialog 依赖于运行平台的实现,如果运行平台的文件对话框是模态的,那么 FileDialog 也是模态的;否则就是非模态的 。

方法名称

方法名称方法功能
FileDialog(Frame parent, String title, int mode)创建一个文件对话框:
parent:指定父窗口
title:对话框标题
mode:文件对话框类型,如果指定为FileDialog.load,用于打开文件,如果指定为FileDialog.SAVE,用于保存文件
String getDirectory()获取被打开或保存文件的绝对路径
String getFile()获取被打开或保存文件的文件名

代码示例

使用 Frame、Button和FileDialog完成下图效果:
在这里插入图片描述

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class FileDialogTest {

    public static void main(String[] args) {

        Frame frame = new Frame("这里测试FileDialog");

        FileDialog d1 = new FileDialog(frame, "选择需要加载的文件", FileDialog.LOAD);
        FileDialog d2 = new FileDialog(frame, "选择需要保存的文件", FileDialog.SAVE);

        Button b1 = new Button("打开文件");
        Button b2 = new Button("保存文件");

        //给按钮添加事件
        b1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                d1.setVisible(true);
                //打印用户选择的文件路径和名称
                System.out.println("用户选择的文件路径:"+d1.getDirectory());
                System.out.println("用户选择的文件名称:"+d1.getFile());
            }
        });

        System.out.println("-------------------------------");
        b2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                d2.setVisible(true);
                //打印用户选择的文件路径和名称
                System.out.println("用户选择的文件路径:"+d2.getDirectory());
                System.out.println("用户选择的文件名称:"+d2.getFile());
            }
        });

        //添加按钮到frame中

        frame.add(b1);
        frame.add(b2,BorderLayout.SOUTH);

        //设置frame最佳大小并可见
        frame.pack();
        frame.setVisible(true);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1809988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文心一言 VS 讯飞星火 VS chatgpt (278)-- 算法导论20.3 5题

五、假设我们创建一个包含 u 1 k u^\frac{1}{k} uk1​ 个簇(而不是全域大小为 x ↓ {\sqrt[↓]{x}} ↓x ​ 的 x ↑ {\sqrt[↑]{x}} ↑x ​ 个簇)的 vEB 树,其每个簇的全域大小为 u 1 − 1 k u ^ {1-\frac{1}{k}} u1−k1​ ,其中 k>1 &#xff0c…

【UML用户指南】-13-对高级结构建模-包

目录 1、名称 2、元素 3、可见性 4、引入与引出 用包把建模元素安排成可作为一个组来处理的较大组块。可以控制这些元素的可见性,使一些元素在包外是可见的,而另一些元素要隐藏在包内。也可以用包表示系统体系结构的不同视图。 狗窝并不复杂&#x…

数据库管理-第200期 身边的数据库从业者(20240610)

数据库管理200期 2024-06-10 数据库管理-第200期 身边的数据库从业者(20240610)首席-薛晓刚院长-施嘉伟邦德-王丁丁强哥-徐小强会长-吴洋灿神-熊灿灿所长-严少安探长-张震总结活动预告 数据库管理-第200期 身边的数据库从业者(20240610&#…

匈牙利匹配算法

一 什么是匈牙利匹配算法 匈牙利算法是一种解决二分图最大匹配问题的算法。在二分图中,将左边的点称为X集合,将右边的点称为Y集合,我们需要在X集合和Y集合之间建立一个双向边集合,使得所有的边都不相交。如果我们能够找到一个最大…

前端工程化工具系列(十)—— Browserslist:浏览器兼容性配置工具

Browserslist 是一个能够在不同的前端工具间共享目标浏览器的配置,各工具根据该配置进行代码转译等操作。 具体的这些前端工具为:Autoprefixer、Babel、postcss-preset-env、eslint-plugin-compat、stylelint-no-unsupported-browser-features、postcss-…

文件的基础必备知识(初学者入门)

1. 为什么使用文件 2. 什么是文件 3. 二进制文件和文本文件 4. 文件的打开和关闭 1.为什么使用文件 我们写的程序数据是存储在电脑内存中,如果程序退出,内存回收,数据就丢失,等程序再次运行时,上次的数据已经消失。面…

安利一款非常不错浏览器文本翻译插件(效果很不错,值得一试)

官网地址:https://immersivetranslate.com/ “沉浸式翻译”这个词,由我们发明创造。如今,它已然成为“双语对照翻译”的代名词。自2023年上线以来,这款备受赞誉的 AI 双语对照网页翻译扩展,已帮助超过 100 万用户跨越语…

鸿蒙开发必备:《DevEco Studio 系列一:实用功能解析与常用快捷键大全》

系列文章目录 文章目录 系列文章目录前言一、下载与安装小黑板 二、IDE被忽略的实用功能-帮助(Help)1.Quick Start2. API Reference3.FAQ 三、常用快捷键一、编辑二、查找或替换三、编译与运行四、调试五、其他 前言 DevEco Studio)是基于In…

NLP——电影评论情感分析

python-tensorflow2.0 numpy 1.19.1 tensorflow 2.0.0 导入库 数据加载 数据处理 构建模型 训练 评估 预测 1.基于2层dropout神经网络 2.基于LSTM的网络 #导入需要用到的库 import os import tarfile import urllib. request import tensorflow as tf import numpy a…

W25Q64简介

W25Q64介绍 本节使用的是:W25Q64: 64Mbit / 8MByte。存储器分为易失性存储器和非易失性存储器,易失性存储器一般是SRAM,DRAM。非易失性存储器一般是E2PROM,Flash等。非易失性存储器,掉电不丢失。 字库存储…

单片机嵌入式计算器(带程序EXE)

单片机嵌入式计算器 主要功能:完成PWM占空比计算,T溢出时间(延时); [!NOTE] 两个程序EXE; [!CAUTION] 百度网盘链接:链接:https://pan.baidu.com/s/1VJ0G7W5AEQw8_MiagM7g8A?pwdg8…

java线程生命周期介绍

Java线程的生命周期包含以下几个状态: 1.新建(New):线程对象被创建,但是还没有调用start()方法。 1.运行(Runnable):线程正在运行或者是就绪状态,等待CPU时间片。 1.阻塞(Blocked):线程暂时停止执行&…

Nginx 精解:正则表达式、location 匹配与 rewrite 重写

一、常见的 Nginx 正则表达式 在 Nginx 配置中,正则表达式用于匹配和重写 URL 请求。以下是一些常见的 Nginx 正则表达式示例: 当涉及正则表达式时,理解各个特殊字符的含义是非常重要的。以下是每个特殊字符的例子: ^&#xff1…

修复损坏的Excel文件比你想象的要简单,这里提供几种常见的修复方法

打开重要的Excel文件时遇到问题吗?Microsoft Excel是否要求你验证文件是否已损坏?Excel文件可能由于各种原因而损坏,从而无法打开。但不要失去希望;你可以轻松修复损坏的Excel文件。 更改Excel信任中心设置 Microsoft Excel有一个内置的安全功能,可以在受限模式下打开有…

Failed to start gdm.servide - GNOME Display manager

启动虚拟机时,卡在Failed to start gdm.servide - GNOME Display manager不动。 解决方法: 1.重新启动Ubuntu,在进度条未结束之前,长按shift直到界面跳转到选项菜单。 2.选择第二个,按enter进入 3.选择最新版本(后面…

MySQL时间和日期类型详解(零基础入门篇)

目录 1. DATE 2. DATETIME 3. TIMESTAMP 4. TIME 5. YEAR 6. 日期和时间的使用示例 以下SQL语句的测试可以使用命令行,或是使用SQL工具比如MySQL Workbench或SQLynx等。 在 MySQL 中,时间和日期数据类型用于存储与时间相关的数据,如何…

摄影软件使用小技巧

记录摄影过程中使用一些软件的技巧,方便后续查阅。 摄影软件使用小技巧 Pr制作延时视频用PS批量转换RAW照片Lightroom批量处理照片月亮后期堆栈——RegiStax6 Pr制作延时视频 新建序列 选择需要的格式 用PS批量转换RAW照片 Lightroom批量处理照片 按 Shfit&#xf…

解决Spark流处理产生的小文件问题

做流批一体,湖仓一体的大数据架构,常见的做法就是: 数据源->spark Streaming->ODS(数据湖)->spark streaming->DWD(数据湖)->... 那么数据源->spark Streaming->ODS&…

档案数字化管理的工具有哪些

档案数字化管理的工具可以包括以下几种: 1. 扫描仪/数字拍摄仪:用于将纸质文件数字化为电子文件的工具。 2. OCR(光学字符识别)软件:用于将扫描或拍摄的图像文件转换为可编辑的文本文件。 3. 文件管理系统/专久智能电子…

英语国际音标 - DJ 音标 - KK 音标

英语国际音标 - DJ 音标 - KK 音标 1. 国际音标 (International Phonetic Alphabet,IPA)1.1. 记音类型1.2. 48 个国际音标发音表1.2.1. 元音 (vowel)1.2.1.1. 单元音 (monophthong)1.2.1.2. 双元音 (diphthong) 1.2.2. 辅音 (consonant)1.2.2.1. 清音 (voiceless so…