Java图形化界面学习

Posted _DiMinisH

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java图形化界面学习相关的知识,希望对你有一定的参考价值。

Java图形化界面学习

javax.swing是Java图形界面开发的库

功能
JFrame窗体
JPanel面板 (容器)
JButton按钮
JLabel标签
JTextField文本域
JCheckBox复选框
JComboBox下拉列表

1. 创建一个简单的窗口

import javax.swing.*;

public class Swing 
    public static void main(String[] args) 
        // 创建一个窗口, 构造方法的参数是窗口标题
        JFrame frame = new JFrame("My Swing");
        // 设置窗口标题
        frame.setTitle("NEW Title");
        // 当窗口关闭时, 设置为退出这个程序
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 设置窗口大小
        frame.setSize(400, 300);
        // 显示窗口
        frame.setVisible(true);
    

2. JFrame 类

(1). 常用构造方法

访问限定符返回值方法名字抛出的异常说明
public-JFrame()throws HeadlessException创建一个最初看不见的窗体
public-JFrame(String title)throws HeadlessException创建一个指定标题的、最初看不见的窗体

(2). 常用成员方法

访问限定符返回值方法名字抛出的异常说明
publicvoidsetDefaultCloseOperation(int operation)-设置当用户在此窗体上点击“关闭”按钮时将默认发生的操作

值(定义在 WindowConstants 类的静态属性)可以为以下四个:
  DO_NOTHING_ON_CLOSE : 什么都不做, 即窗口无法关闭
  HIDE_ON_CLOSE : 仅关闭窗口
  DISPOSE_ON_CLOSE : 隐藏当前窗口,并释放窗体占有的其他资源
  EXIT_ON_CLOSE : 关闭窗口并退出程序

访问限定符返回值方法名字抛出的异常说明备注
publicvoidsetSize(int width, int height)-设置窗体大小width是宽, height是高
publicvoidsetVisible(boolean b)-设置窗体是否是可以看到的true是可以看到, false是看不到

3. JPanel 类

JPanel 是面板容器类, 可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout, 其自身可以嵌套组合,在不同子容器中可包含其他组件。

(1). 构造方法

访问限定符返回值方法名字抛出的异常说明
public-JPanel()-创建具有双缓冲区和流式布局(FlowLayout)的新面板
public-JPanel(boolean isDoubleBuffered)-创建具有指定缓冲策略和流式布局(FlowLayout)的新面板
public-JPanel(LayoutManager layout)-创建具有指定布局管理器的新缓冲面板
public-JPanel(LayoutManager layout, boolean isDoubleBuffered)-创建具有指定布局管理器和缓冲策略的新面板

(2). 常用成员方法

访问限定符返回值方法名字抛出的异常说明
publicComponentadd(Component comp)-向面板中添加一个组件

4. JButton类

按钮控件类

(1). 常用构造方法

访问限定符返回值方法名字抛出的异常说明
public-JButton()-创建一个没有名称的按钮
public-JButton(String text)-创建一个指定名称的按钮

(2). 常用成员方法

访问限定符返回值方法名字抛出的异常说明
publicvoidsetText(String text)-修改按钮的名称
publicvoidaddActionListener(ActionListener l)-给按钮增加监听器(点击按钮所触发的事件)

5. JLabel类

标签控件类

(1). 常用构造方法

访问限定符返回值方法名字抛出的异常说明
public-JLabel()-创建一个没有内容的标签
public-JLabel(String text)-创建一个指定内容的标签

(2). 常用成员方法

访问限定符返回值方法名字抛出的异常说明备注
publicvoidsetText(String text)-修改标签的内容-
publicStringgetText()-获取标签的内容-
publicvoidsetFont(Font font)-设置标签字体的样式new Font(String name, int style, int size)

style : Font.BOLD 粗体, Font.PLAIN 普通, Font.ITALIC 斜体
size: 字体大小

访问限定符返回值方法名字抛出的异常说明备注
publicvoidsetForeground(Color fg)-修改标签的字体颜色new Color(int r, int g, int b)三原色
publicvoidsetBackground(Color bg)-修改标签的背景颜色new Color(int r, int g, int b)三原色
publicvoidsetOpaque(boolean isOpaque)-设置标签背景不透明true是不透明, false是透明
publicvoidsetPreferredSize(Dimension preferredSize)-设置标签大小Dimension(int width, int height)
publicvoidsetHorizontalAlignment(int alignment)-设置内容在标签中的水平对齐方式-

值(定义在 SwingConstants 类的静态属性)可以为以下的:
  CENTER : 居中
  LEFT : 左对齐
  RIGHT : 右对齐

6. JTextField类

文本域控件类

(1). 常用构造方法

访问限定符返回值方法名字抛出的异常说明
public-JTextField()-创建一个长度为0, 且没有初始内容的文本域
public-JTextField(String text)-创建一个指定内容的文本域, 宽度能刚好显示指定的内容
public-JTextField(int columns)-创建一个指定宽度, 且没有初始内容的文本域
public-JTextField(int columns)-创建一个指定宽度, 且指定内容的文本域

(2). 常用成员方法

访问限定符返回值方法名字抛出的异常说明
publicvoidsetText(String text)-修改文本域的内容
publicStringgetText()-获取文本域的内容
publicvoidsetColumns(int columns)-修改文本域的宽度

7. JCheckBox类

复选框控件类

(1). 常用构造方法

访问限定符返回值方法名字抛出的异常说明
public-JCheckBox()-创建没有内容的, 且未被勾选的复选框
public-JCheckBox (String text)-创建指定内容的, 且未被勾选的复选框

(2). 常用成员方法

访问限定符返回值方法名字抛出的异常说明备注
publicvoidsetText(String text)-修改复选框的内容-
publicStringgetText()-获取复选框的内容-
publicvoidsetSelected(boolean b)-设置复选框选中状态ture是选中复选框, false是未选中复选框
publicvoidaddActionListener(ActionListener l)-给复选框增加监听器勾选或取消勾选所触发的事件

8. JComboBox类

下拉列表框控件

(1). 常用构造方法

访问限定符返回值方法名字抛出的异常说明
public-JComboBox()-创建一个带有默认数据模型的下拉列表
public-JComboBox(E[] items)-创建一个带有指定数组中元素的下拉列表

(2). 常用成员方法

访问限定符返回值方法名字抛出的异常说明备注
publicvoidaddItem(E item)-向下拉列表中添加一个数据项-
publicEgetItemAt(int index)-获取下拉列表中指定位置的数据项E是指定的类型
publicintgetItemCount()-获取数据项的个数-
publicintgetSelectedIndex()-获取下拉列表中当前选中的数据项的下标-
publicObjectgetSelectedItem()-获取下拉列表中当前选中的数据项-
publicvoidaddActionListener(ActionListener l)-给下拉列表增加监听器选中所触发的事件

9. 布局管理器

LayoutManager类

(1). 流式布局

FlowLayout类
当一行显示不下的时候, 自动显示在下一行, 窗体默认的布局

(2). 边界布局

BorderLayout

使用JPanel的add()方法可以指定位置, 以JLabel为例子
中间: add(label, BorderLayout.CENTER);
上面: add(label, BorderLayout.NORTH);
下面: add(label, BorderLayout.SOUTH);
左边: add(label, BorderLayout.EAST);
右面: add(label, BorderLayout.WEST);

通过setPreferredSize()可以设置居上的高度, 居下的高度, 居左的宽度, 居右的宽度

(3). 手工布局

先取消默认的布局器
JPanel的setLayout(null)方法, 参数传入null
使用对应控件的setBounds(Rectangle r)方法实现
参数构造方法
Rectangle(int x, int y, int width, int height)
x,y 表示控件左上角坐标的位置, width是宽度, height是高度

以上是关于Java图形化界面学习的主要内容,如果未能解决你的问题,请参考以下文章

凯撒密码java编程实现图形界面化代码

MySQL基础教程图形化界面工具介绍安装与使用

python图形化界面开发学习

python图形化界面开发学习

一脸懵逼学习oracle(图形化界面操作---》PLSQL图形化界面)

如何用java编写图形化显示sql查询结果