JAVA刷题集|刷题的狂欢-----JAVA每日三练-----第十一天
努力刷题,每日三题,题目来源于《Java从入门到精通》----清华大学出版社。
我们先来看一个概念:
Java Swing 介绍:第一题(JFrame窗体)
Swing 是一个为Java设计的GUI工具包。
Swing是JAVA基础类的一部分。
Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。
Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行。
JFrame窗体是一个容器,是Swing的各个组件的载体,它拥有“最大化”,“最小化”,“关闭”等按钮。
JFrame jf = new JFrame(title);
Container container = jf.getContentPane();
/*
jf是JFrame类的对象。
container是Container类的对象,可以使用JFrame对象调用getContentPane()方法获取。
Swing组件的窗体通常与组件和容器有关,在对象创建完成之后,使用getContentPane()来将窗体转换为容器,再加上设置布局管理器或者组件。
*/
比如:
container.add(new JButton("按钮"));
//JButton按钮组件
删除的话,使用remove()来实现
container.remove(new JButton("按钮"));
栗子:
创建一个Example1类,该类继承JFrame类成为窗体类,再在该类里面创建标签组件,并添加到窗体界面中。
import javax.swing.*;
//导入swing包
import java.awt.*;
//导入awt包public class Example1 extends JFrame {
//继承JFrame
public void CreateJFrame(String title){
//定义方法
JFrame jf = new JFrame(title);
Container container = jf.getContentPane();
//获取一个容器
JLabel jl = new JLabel("这是一个JFrame窗体");
//创建一个JLabel的标签
jl.setHorizontalAlignment(SwingConstants.CENTER);
//使标签上的文字居中
container.add(jl);
//将标签添加到容器中
container.setBackground(Color.white);
//设置容器的背景
jf.setVisible(true);
//窗体可视化
jf.setSize(200,150);
//设置窗体的大小
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//设置窗口的关闭方式
}
public static void main(String[] args){new Example1().CreateJFrame("创建一个JFrame窗体");
}}
文章图片
JAVA窗体关闭方式:第二题(JDialog窗体)
EXIT_ON_CLOSE -> 退出程序默认窗口关闭
DO_NOTHING_ON_CLOSE -> 什么都不做就关闭窗口
DISPOSE_ON_CLOSE -> 任何注册监听程序对象会自动隐藏并释放窗体
HIDE_ON_CLOSE -> 隐藏窗口的默认窗口关闭
JDialog窗体的功能是从一个窗体弹出另一个窗体,类似于弹出的对话窗,使用的时候,需要用getContentPane()方法将窗体转为为容器,然后再设置特性。
栗子:
在项目里面创建MyJDialog类,继承JDialog窗体,并在窗口添加按钮,当用户单击按钮后,弹出一个对话框窗体。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MyJDialog extends JDialog {
// 创建新类继承JDialog类private static final long serialVersionUID = 1L;
//定义程序序列化IDpublic MyJDialog(MyFrame frame) {// 实例化一个JDialog类对象,指定对话框的父窗体、窗体标题和类型
super(frame, "第一个JDialog窗体", true);
Container container = getContentPane();
// 创建一个容器
container.add(new JLabel("这是一个对话框"));
// 在容器中添加标签
setBounds(120, 120, 100, 100);
// 设置对话框窗体大小
}
}public class MyFrame extends JFrame {
// 创建新类private static final long serialVersionUID = 1L;
//定义程序序列化IDpublic static void main(String args[]) {new MyFrame();
// 实例化MyJDialog类对象
}public MyFrame() {Container container = getContentPane();
// 创建一个容器
container.setLayout(null);
//不设置布局管理器
JLabel jl = new JLabel("这是一个JFrame窗体");
// 在窗体中设置标签
// 将标签的文字置于标签中间位置
jl.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jl);
JButton bl = new JButton("弹出对话框");
// 定义一个按钮
bl.setBounds(10, 10, 100, 21);
bl.addActionListener(new ActionListener() {
// 为按钮添加鼠标单击事件
public void actionPerformed(ActionEvent e) {// 使MyJDialog窗体可见
new MyJDialog(MyFrame.this).setVisible(true);
}
});
container.add(bl);
// 将按钮添加到容器中container.add(bl);
container.setBackground(Color.white);
setSize(200, 200);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setVisible(true);
}
}
文章图片
//JDialog类的构造方法:
public JDialog(): 创建一个没有标题和父窗体的对话框。
public JDialog(Frame f): 创建一个指定父窗体的对话框,但是此窗体没有标题。
public JDialog(Frame f,boolean model): 创建一个指定类型的对话框,指定父体,但是此窗体没有标题。
public JDialog(Frame f,String title): 创建一个指定标题和父窗体的对话框。
public JDialog(Frame f,String title,boolean model): 创建一个指定标题,窗体和模式的对话框。
第三题(图标的使用)
在Swing里面,使用Icon来创建图标,创建时就可以给定图标的大小,颜色等等。
Icon接口的三种方法:栗子:
public int getIconHeight() //图标的长
public int getIconWidth() //图标的宽
public void paintIcon(Component arg(),Graphics arg1,int arg2,int arg3) //指定坐标画图
项目里面创建Icon接口的DrawIcon类,实现自定义的图标类。
import java.awt.*;
import javax.swing.*;
public class DrawIcon implements Icon {
// 实现Icon接口
private int width;
private int height;
public int getIconHeight() {
// 实现getIconHeight()方法
return this.height;
}public int getIconWidth() {
// 实现getIconWidth()方法
return this.width;
}public DrawIcon(int width, int height) {this.width = width;
this.height = height;
}// 实现paintIcon()方法
public void paintIcon(Component arg0, Graphics arg1, int x, int y) {arg1.fillOval(x, y, width, height);
// 绘制一个圆形
}public static void main(String[] args) {DrawIcon icon = new DrawIcon(15, 15);
// 创建一个标签,并设置标签上的文字在标签正中间
JLabel j = new JLabel("测试的小圆点", icon, SwingConstants.CENTER);
JFrame jf = new JFrame();
// 创建一个JFrame窗口
Container c = jf.getContentPane();
c.add(j);
jf.setSize(100,100);
jf.setVisible(true);
jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
}
文章图片
JLabel 类常用构造方法
public JLabel() :创建一个不带图标和文本的JLabel对象
public JLabel(Icon icon) : 创建一个带图标的JLabel对象
public JLabel(Icon icon,int aligment): 创建一个带图标的JLabel对象,并设置图标的水平对齐方式。
public JLabel(String text,int aligment) : 创建一个带文本的JLabel对象,并设置文字水平对齐方式。
public JLabel(String text, Icon icon,int aligment) : 创建一个带文本,带图标的JLabel对象,并设置标签内容的水平对齐方式。
【JAVA刷题集|刷题的狂欢-----JAVA每日三练-----第十一天】加油~
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用
- Java基础-高级特性-枚举实现状态机