JAVA刷题集|刷题的狂欢-----JAVA每日三练-----第十一天

努力刷题,每日三题,题目来源于《Java从入门到精通》----清华大学出版社。
我们先来看一个概念:

Java Swing 介绍:
Swing 是一个为Java设计的GUI工具包。
Swing是JAVA基础类的一部分。
Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。
Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行。
第一题(JFrame窗体)
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刷题集|刷题的狂欢-----JAVA每日三练-----第十一天
文章图片

JAVA窗体关闭方式:
EXIT_ON_CLOSE -> 退出程序默认窗口关闭
DO_NOTHING_ON_CLOSE -> 什么都不做就关闭窗口
DISPOSE_ON_CLOSE -> 任何注册监听程序对象会自动隐藏并释放窗体
HIDE_ON_CLOSE -> 隐藏窗口的默认窗口关闭
第二题(JDialog窗体)
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); } }

JAVA刷题集|刷题的狂欢-----JAVA每日三练-----第十一天
文章图片

//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); } }

JAVA刷题集|刷题的狂欢-----JAVA每日三练-----第十一天
文章图片

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每日三练-----第十一天】加油~

    推荐阅读