Java Swing最详细基础知识总结

一、简介

Swing 是一个为Java设计的GUI工具包。

Swing是JAVA基础类的一部分。

Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。

Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

二、Swing 组件的层次结构

从上图可以看出各组件之间的继承关系,我们可以看到Container类下面有四个子类,这四个子类中,除了JComponent类以外,其余三个都是Java AWT包中的类,而JComponent是Java Swing所出现的类。Sun公司在设计Java Swing时用JComponent把容器和组件之间由Java AWT过渡到Java Swing,也就是说大部分Java Swing中的容器和组件都继承JComponent类。

Container类除了JComponent类之外,其余三个都是Java AWT中的容器,需要注意的是容器又分为顶级容器和中间容器。顶级容器是指图形界面最外层的容器,如窗口(Window)。中间容器是指存放在顶级容器或者中间容器中的一种容器,如面板(Panel)。在实际编程中,要开发一个界面应该是这样的,顶级容器在最外面(JFrame),其次是中间容器,放在窗体上(JPanel),最后是基本组件,放在中间容器上。这里需要注意的是,容器中除了可以存放基本组件外,还可以存放容器,如图所示:

我们经常使用的顶级容器是窗体(JFrame)和对话框(JDialog),使用的中间容器是面板(JPanel)。开发中经常使用的基本组件大部分用JComponent类下的子类。

Component类的主要方法有:

(1) void enable():使组件可用。

(2) void disable(): 使组件不可用

(3) void show():  显示组件

(4) void paint(): 绘制图形

(5) void repaint(): 刷新

Container类的主要方法有:

(1) void add(Component c):将指定组件加入到容器中。

(2) void setLayout(): 设置布局管理器。

所有的包含组件都可继承或重载以上方法。

三、Swing组件

常用的Swing组件如下表所示:

组件名称 定义
JButton 代表Swing按钮,按钮可用带一些图片或文字
JCheckBox 代表Swing中的复选框组件
JComBox 代表下拉列表框,可以在下拉显示区域显示多个选项
JFrame 代表Swing的框架类
JDialog 代表Swing版本的对话框
JLabel 代表Swing中的标签组件
JRadioButton 代表Swing的单选按钮
JList 代表能够在用户界面中显示一系列条目的组件
JTextField 代表文本框
JPasswordField 代表密码框
JTextArea 代表Swing中的文本区域
JOptionPane 代表Swing中的一些对话框

3.1 JFrame窗体组件

JFrame是独立于浏览器的可独立运行的主窗口,通常用于开发桌面应用程序/JFrame具有边界和标题栏设置,其大小可以调整。JFrame中需要加入组件,也可以加入菜单,或在上面绘图。

JFrame在程序中的语法格式如下:

JFrame jf=new JFrame(title);
Container container=jf.getContentPane();

jf:JFrame类的对象

container:Container类的对象,可以使用JFrame对象调用getContentPane()方法获取。

我们应该有这样一个概念,Swing组件的窗体通常与组件和容器相关,所以在JFrame对象创建完成后,需要调用getContentPane()方法将窗体转换为容器,然后在容器中添加组件或设置布局管理器。通常,这个容器用来包含和显示组件。如果需要将组件添加至容器,可以使用来自Cointainer类的add()方法进行设置。例如:

container.add(new JButton("按钮");

下面我们就用Java代码做一个简单的窗体,如下所示:

package xmsj;

import java.awt.Color;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;

public class test1 {
	public static void main(String[] args){
		//创建一个窗体对象
		JFrame jf=new JFrame("这是一个JFrame窗体");
		//获取一个容器,用来放置各种组件或布局管理器
		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);
	}

}

显示如下图所示:

上面的程序展示了如何创建一个简单的窗体,JFrame还有其想对应的方法,如下所示:

JFrame组件中提供了如下两个常用的构造方法:

(1)JFrame():创建一个没有窗口标题的窗口框架。

(2)JFrame(String):创建一个指定窗口标题的窗口框架。

JFrame的主要方法如下表所示:

方法 功能
addNotify() 创建一个对等的Frame
dispose() 清楚窗口对象
getIconImage() 获得窗口的图标
getMenuBar() 获得窗口的菜单栏
getTitle() 获取窗口的标题
paramString() 返回窗口的参数字符串
isResizable() 如果窗口大小可变,则返回真值
remove(MenuComponent) 从窗口中去掉指定的菜单栏
setIconImage(Image) 设置窗口的图标

3.2 JDialog窗体组件

JDialog窗体是Swing组件中的对话框,它继承了AWT组件中的java.awt.Dialog类。

对话框(JDialog)与框架(JFrame)有一些相似,但它一般是一个临时的窗口,主要用于显示提示信息或接受用户输入。

所以,在对话框中一般不需要菜单条,也不需要改变窗口大小。此外,在对话框出现时,可以设定禁止其他窗口的输入,直到这个对话框被关闭。

在应用程序中创建JDialog窗体需要实例化JDialog类,通常使用以下几个JDialog类的构造方法。

(1)public JDialog():创建一个没有标题和父窗体的对话框

(2)   public JDialog(Frame f): 创建一个指定父窗体的对话框,但该窗体没有标题

(3)public JDialog(Frame f,boolean model):创建一个指定类型的对话框,并指定父窗体,但该窗体没有指定标题。

(4)public JDialog(Frame f,String titl):创建一个指定标题的父窗体的对话框

(5)public JDialog(Frame f,String title,boolean model):创建一个指定标题、窗体和模式的对话框

下面我们用代码来实现:

package njci.software.MyNotePad2018;

import java.awt.Container;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class ConfigDialog extends JDialog {

	/**
	 *
	 */
	private static final long serialVersionUID = -713398359834685238L;
	public ConfigDialog(JFrame frame){
		super(frame,"这是一个对话框",true);
		//Container container=getContentPane(); //创建一个容器
		//container.add(new JLabel("这是一个对话框")); //在容器中添加标签
		//添加内部控件
		JPanel pnlConfig=new JPanel();
		pnlConfig.setLayout(null);
		JLabel lblWidth=new JLabel("宽度");
		JLabel lblHeight=new JLabel("高度");
		final JTextField txtWidth=new JTextField();
		final JTextField txtHeight=new JTextField();
		JButton btnSave=new JButton("保存");
		JButton btnCancel=new JButton("取消");

		//进行布局

		lblWidth.setBounds(50,30,60,40);
		txtWidth.setBounds(150,30,160,40);
		lblHeight.setBounds(50,100,60,40);
		txtHeight.setBounds(150,100,160,40);
		btnSave.setBounds(50,160,100,40);
		btnCancel.setBounds(200,160,100,40);
		pnlConfig.add(lblWidth);
		pnlConfig.add(txtWidth);
		pnlConfig.add(lblHeight);
		pnlConfig.add(txtHeight);
		pnlConfig.add(btnSave);
		pnlConfig.add(btnCancel);
		this.add(pnlConfig);
		this.setSize(400,320);
		this.setResizable(false);//窗体大小不可改变
		this.setLocationRelativeTo(frame);;//居中显示

	}

}
package javaswing;

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

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class MyFrame extends JFrame {
	private static final long serialVersionUID = 4232937812480671357L;
	public MyFrame(){
		final JFrame frmMain=new JFrame("我的第一个记事本");
		frmMain.setSize(400,300);
		frmMain.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		frmMain.setLocationRelativeTo(null);  //居中显示
		frmMain.setVisible(true);
		ConfigDialog dlgConfig=new ConfigDialog(frmMain);
		dlgConfig.setVisible(true);

	}

	/**
	 *
	 */

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

}
}

运行效果如下所示:

3.3 JLabel组件

在Swing中显示文本或提示信息的方法是使用标题,它支持文本字符串和图标。在应用程序的用户界面中,一个简短的文本标签可以使用户知道这些组件的目的,所以标签在Swing中是比较常用的组件。

标签由JLabel类定义,它的父类为JComponent类。

JLabel组件显示的是静态文本或者图片,在通常情况下是不能编辑的,只起到提示的作用。观察QQ登录界面输入框左侧的头像,他就可以用JLabel组件实现。

JLabel组件中主要的构造方法如下:

(1)JLabel():创建空的标签。

(2)JLabel(String):创建一个带初始字符串的标签。

(3)JLabel(Icon):创建一个带有指定图像的标签。

JLabel的主要方法见下表所示:

方法 功能
setText(String) 设置显示内容
getText() 获取显示内容
getAlignment() 获取对齐方式
setAlignment() 设置对齐fang

3.4 文本域

文本域一般用来让用户输入姓名、信用卡号这样的信息,它是一个能够接收用户的键盘输入的小块区域。

在创建文本域时,参数类型有四种:空的、空的并且具有指定长度、带有初始文本内容和带有初始文本内容并具有指定长度的。

文本域的主要方法如下所示:

方法 功能
getColumns() 返回文本域的列数
getEchoChar() 返回用于回显的字符
setEchoCharacter(Char) 设置文本域的回显字符
setEditable(Boolean) 设置文本域是否为只读状态
setText(String) 设置文本域中的文本值
getText() 返回文本域中的输入文本值

3.5 按钮

几乎所有的交互式程序中都会有按钮,它是一种交互能力强且交互方便的控件,这个组件提供了“按下并动作”的基本用户界面。

构造方法如下:

(1):JButton():建立一个没有标示字符串的新按钮类对象。

(2):JButton(String label):建立一个标示字符串为label的新按钮类对象。

下面通过代码实现:

package javaswing;

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

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class MyFrame extends JFrame {
	private static final long serialVersionUID = 4232937812480671357L;
	public MyFrame(){
		final JFrame frmMain=new JFrame("我的第一个记事本");
		frmMain.setSize(400,300);
		frmMain.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		frmMain.setLocationRelativeTo(null);  //居中显示
		frmMain.setVisible(true);
		//为按钮添加一个单机事件
		JButton jbn=new JButton("系统配置");
		frmMain.add(jbn);

	}

	/**
	 *
	 */

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

}
}

运行效果如下所示:

四.布局管理器

在Swing中,每个组件在容器中都有一个具体位置和大小,而在容器中摆放各种组件时很难判断其具体位置和大小。布局管理器提供了Swing组件安排、展示在容器中的方法及基本的布局功能。使用布局管理器较程序员直接在容器中控制Swing组件的位置和大小方便得多,可以有效地处理整个窗体的布局。Swing提供的常用布局管理器包括流布局管理器、边界布局管理器和网格布局管理器。本节将探讨Swing中常用的布局管理器。

4.1 绝对布局

在Swing中,除了使用布局管理器之外还可以使用绝对布局。绝对布局,就是硬性指定组件在容器中的位置和大小,可以使用绝对坐标的方式来指定组件的位置。

(1)使用Container.setLayout(null)方法取消布局管理器

(2)  使用Component.setBounds()方法设置每个组件的大小与位置。

下面我们用代码实现绝对布局:

package javaswing;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class ConfigDialog extends JDialog {

	/**
	 *
	 */
	private static final long serialVersionUID = -713398359834685238L;
	public ConfigDialog(JFrame frame){
		super(frame,"这是一个对话框",true);
		//Container container=getContentPane(); //创建一个容器
		//container.add(new JLabel("这是一个对话框")); //在容器中添加标签
		//添加内部控件
		JPanel pnlConfig=new JPanel();
		pnlConfig.setLayout(null);
		JLabel lblWidth=new JLabel("宽度");
		JLabel lblHeight=new JLabel("高度");
		final JTextField txtWidth=new JTextField();
		final JTextField txtHeight=new JTextField();
		JButton btnSave=new JButton("保存");
		JButton btnCancel=new JButton("取消");

		//进行绝对布局

		lblWidth.setBounds(50,30,60,40);
		txtWidth.setBounds(150,30,160,40);
		lblHeight.setBounds(50,100,60,40);
		txtHeight.setBounds(150,100,160,40);
		btnSave.setBounds(50,160,100,40);
		btnCancel.setBounds(200,160,100,40);
		pnlConfig.add(lblWidth);
		pnlConfig.add(txtWidth);
		pnlConfig.add(lblHeight);
		pnlConfig.add(txtHeight);
		pnlConfig.add(btnSave);
		pnlConfig.add(btnCancel);
		this.add(pnlConfig);
		this.setSize(400,320);
		this.setResizable(false);//窗体大小不可改变
		this.setLocationRelativeTo(frame);;//居中显示

	}

	public static void main(String[] args) {
		//new ConfigDialog(frame);

	}

}

4.2 流布局管理器

流布局管理器是最基本的布局管理器,在整个容器中的布局正如其名,像“流”一样从左到右摆放组件,知道占据了这一行的所有空间,然后再向下移动一行。默认情况下,组件在每一行都是居中排列的,但是通过设置也可以更改组件在每一行上的排列位置。

FlowLayout布局管理器是一种最简单的布局管理方法,是JPanel的默认布局。它以流式的方式,自左向右,自上而下地放置容器中的组件,即组件按每行先后自左向右放置,一行放不下时换行。FlowLayout的默认对齐方式为居中对齐,也可以手工设置为左对齐或右对齐。

FlowLayout中常用的构造方法:

(1)FlowLayout():创建默认的FlowLayout布局管理器。

(2)FlowLayout(int):以指定的对齐方式创建FlowLayout布局管理器。其中参数:

FlowLayout.LEFT(左对齐)、FlowLayout.RIGHT(右对齐)、FlowLayout.CENTER(居中对齐)。

(3)FlowLayout(int,int,int);以指定的对齐方式及间距创建FlowLayout布局管理器。其中,第一个参数为对齐方式,第二个参数为组件间以及组件与容器边之间的水平距离,第三个参数为组件之间以及组件与容器边之间的垂直间距。

FlowLayout的主要方法如下表所示:

方法 功能
getAlignment() 返回对齐方式
getHgap() 返回组件水平间距或返回组件列间距
getVgap() 返回组件垂直间距或返回组件行间距
setAlignment 设置对齐方式
setHgap() 设置组件列间距
setVgap() 设置行间距

下面通过代码实现FlowLayout的用法:

package javaswing;

import java.awt.Container;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.WindowConstants;

public class FlowLayoutDemo extends JFrame{
	public FlowLayoutDemo(){
		setTitle("本窗体使用流布局管理器");      //设置窗体标题
		Container c=getContentPane();
		//设置窗体使用流布局管理器,使组件右对齐,并且设置组件之间的水平间隔与垂直间隔
		setLayout(new FlowLayout(2,10,10));
		for(int i=0;i<10;i++){
			c.add(new JButton("按钮"+i));
		}
		setSize(300,200);
		setVisible(true);
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	}
	public static void main(String[] args){
		new FlowLayoutDemo();

	}
	}

运行效果如下图所示:

4.3 网格布局管理器

GridLayout布局管理器将容器区域划分成m行m列,即一个个大小相等的格子,而容器中的组件就放入这些格子中,占用大小完全相同的一格。

GridLayout的创建方法如下:

(1)GridLayout():创建默认的GridLayout布局,所有组件在一行中显示。

(2)GridLayout(int,int)按指定行数和列数创建GridLayout布局。

(3)Gridlayout(int,int,int)按指定行数、列数、行间距和列间距创建GridLayout布局。

GridLayout的主要方法如下表所示:

方法 功能
getHgap() 返回组件水平间距
getVgap() 返回组件垂直间距
setHgap() 设置组件水平间距
setVgap() 设置组件垂直间距
getRows() 获取网格的行数
getColumns() 获取网格的列数
setRows() 设置网格的行数
setColumns() 设置网格的列数

向网格中加入组件有两种方法:一种采用默认顺序,即从左向右、自上而下的顺序;另一种是加入时指明网格位置。

具体代码实现如下:

package javaswing;

import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class GridLayoutPosition extends JFrame{
	public GridLayoutPosition(){
		Container c=getContentPane();
		//设置容器使用网络布局管理器,设置7行3列的网格,行间距为5,列间距为5
		setLayout(new GridLayout(7,3,5,5));
		for(int i=0;i<20;i++){
			c.add(new JButton("按钮"+i)); //循环添加按钮
		}
		setSize(300,300);
		setTitle("这是一个使用网格布局管理器的窗体");
		setVisible(true);
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	}
	public static void main(String[] args){
		new GridLayoutPosition();
	}

}

运行效果如下所示:

4.4 边界布局管理器

在默认不指定窗体布局的情况下,Swing组件的布局模式是边界布局管理器,边界布局器可以将容器划分为东、南、西、北、中五个区域,可以将组件加入到这5个区域中。容器调用Container类的add()方法添加组件时可以设置此组件在边界布局管理器中的区域,区域的控制可以由BorderLayout类中的成员变量来决定,这些成员变量的具体含义如下表所示:

成员变量 含义
BorderLayout.NORTH 在容器中添加组件时,组件置于顶端
BorderLayout.SOUTH 在容器中添加组件时,组件置于底端
BorderLayout.EAST 在容器中添加组件时,组件置于右端
BorderLayout.WEST 在容器中添加组件时,组件置于左端
BorderLayout.CENTER 在容器中添加组件时,组件置于中间开始填充,直到与其他组件边界连接

下面用代码实现:

package javaswing;

import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class BorderLayoutPosition extends JFrame{
	//定义组件摆放位置的数组
	String[] border={BorderLayout.CENTER,BorderLayout.NORTH,BorderLayout.SOUTH,BorderLayout.WEST,BorderLayout.EAST};
	String[] buttonName={"center button","north button","south button","west button","east button"};
	public BorderLayoutPosition(){
		setTitle("这个窗体使用边界布局管理器");
		Container c=getContentPane(); //定义一个容器
		setLayout(new BorderLayout());  //设置容器为边界布局管理器
		for(int i=0;i<border.length;i++){
			//在容器中添加按钮,并设置按钮布局
			c.add(border[i],new JButton(buttonName[i]));
		}
		setSize(350,250); //设置窗体大小
		setVisible(true);  //设置窗体可见
		//设置窗体关闭方式
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	}
	public static void main(String[] args){
		new BorderLayoutPosition();
	}

}

实现效果如下图所示:

到此这篇关于Java Swing最详细基础知识总结的文章就介绍到这了,更多相关Java Swing知识总结内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java Swing实现五子棋游戏

    本文实例为大家分享了java实现五子棋项目,供大家参考,具体内容如下 运行结果 视频经过压缩画质略显粗糙. 标题 1)绘制网格棋盘: 重写JPanel的paint(Graphics g)方法,绘制16*16网格. 如图: 2)代码如下(仅包含部分代码): public class Board extends JPanel{ int width = Toolkit.getDefaultToolkit().getScreenSize().width; int height = Toolkit.get

  • Java swing 图像处理多种效果实现教程

    项目记录: 1.图像原理 通常图像都是2D,对一副图像,可以看做其宽w*高h的一个二维数组, 即 图像=int[w][h],在w和h位置的每一个 int 值,就是这个点的像素值. 图像处理的本质是:对代表图像二维数组中的值进行重新计算. 2.思路: 将一张图片转化成一个int型癿二维数组 对于每一个像素点大小和颜色进行计算达到图像处理的效果. 在画笔中设置好颜色,填充形状然后将新的图片画出. 3.实现效果 获取像素点方法,首先利用文件imageIO读取图片,然后根据图片长宽进行遍历得到每个像素点

  • java swing实现贪吃蛇双人游戏

    本文实例为大家分享了java swing实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下 游戏截图 代码 Java14写的哦低版本会报错 文件列表 package Sys; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.LinkedList; import java.util.Timer; import java.util.TimerTask; public class Ma

  • Java Swing JFrame窗口的实现

    1. 概述 官方JavaDocsApi: javax.swing.JFrame JFrame,窗口.JFrame 是一个可以独立显示的组件,一个窗口通常包含有标题.图标.操作按钮(关闭.最小化.最大化),还可以为窗口添加菜单栏.工具栏等.一个进程中可以创建多个窗口,并可在适当时候进行显示.隐藏 或 销毁. JFrame 常用构造方法: /** * 参数说明: * title: 窗口标题 */ JFrame() JFrame(String title) JFrame 常用方法: // 设置窗口的

  • java swing实现简单的五子棋游戏

    用java swing写的一个简单的五子棋游戏. 下面是Main.java. package com.crossing.main; import com.crossing.view.GameWindow; public class Main { /** * @param args */ public static void main(String[] args) { GameWindow gameWindow = new GameWindow(); } } 下面是GameWindow.java.

  • Java实战之基于swing的QQ邮件收发功能实现

    一.电子邮件详解 假设自己的电子邮件是me@163.com,对方的邮件是you@163.com 我们编写好文件填写好对方文件,点击发送,这些电子邮件就发出去了 而这些电子邮件被称为MUA:Mail User Agent--邮件用户代理. Email发送出去的时候,不是直接到达对方的电脑,而是先发送到MTA:Mail Transfer Agent--邮件传输代理.如:网易 Email到达MTA后,MTA会把Emain投递到邮件的最终目的MDA:Mail Delivery Agent--邮件投递代理

  • Java Swing实现餐厅点餐系统源码(收藏版)

    本文适合Java初级选手,主要技术是Java和MySQL.主要功能如下: (1)注册功能 (2)管理员可以新增套餐 (3)管理员可以管理套餐 (4)管理员可以处理订单 (5)管理员可以修改密码 (6)顾客可以点餐 (7)顾客可以查看订单信息 (8)顾客可以修改个人信息 下面是项目目录 源码有点多,不太好贴,如果需要源码,可以关注公众号[Java技术迷]回复[2021]编号03即是该系统的源码. 即可获取整套源码,也可以直接扫码关注 下面是系统运行图 如果需要源码,可以关注公众号回复[2021]即

  • java实现银行家算法(Swing界面)

    java代码实现了银行家算法,界面写的个人认为还是较为细致的,完整的实现了找安全序列等算法功能,可作为参考学习银行家算法. 直接上代码:①界面展示方法: public void ShowFrame() { this.setSize(500, 350); //大小 this.setAlwaysOnTop(true); this.setResizable(false);//不可拖动 this.setLayout(new BorderLayout()); this.setTitle("lly_bank

  • Java+Swing实现医院管理系统的完整代码

    一.系统介绍 本系统实现的以下功能 管理员功能:登录系统.病人信息的增删改查.就医档案的录入.医生信息的增删改查.科室信息的增删改查.收费统计功能.修改密码. 医生功能:登录系统.病人信息的增删改查.医生信息的增删改查.科室信息的增删改查.收费统计功能.修改密码. 收费员功能:价格管理.收费管理.修改密码. JDK版本:1.8 数据库:Mysql8.0.13 数据库用到的表 cashier charge department doctor drugtable manager medical_re

  • java swing框架实现贪吃蛇游戏

    本文实例为大家分享了java swing实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下 1.编写main方法 package game; import java.awt.Graphics; import javax.swing.*; public class snakeMain extends JFrame { public snakeMain() { snakeWin win = new snakeWin(); add(win); setTitle("̰贪吃蛇v1.0"); se

  • 基于Java swing组件实现简易计算器

    本文记录了笔者的第一个Java程序,基于Java抽象窗口工具(abstract window toolkit , AWT)和Swing(Swing属于Java Foundation Classes的一部分)实现的建议计算器,由于笔者经验有限,初学Java,代码略带bug,无法实现7+5×8之类式子的计算,只能实现算术运算符按从高到低的式子运算,部分代码略显冗杂,希望大家在评论区积极讨论完善代码! 计算器示意图 一.代码相关知识简介 JFrame(框架) 使用JFrame frame = new

  • java swing 创建一个简单的QQ界面教程

    记录自己用java swing做的第一个简易界面. LoginAction.java package com.QQUI0819; import javax.swing.*; import java.awt.event.*; //首先,编写按钮癿监听器实现类 public class LoginAction implements ActionListener { private int count=0; //当前为null,创建后指向界面输入框 private JTextField ulName;

  • java实现猜数字小游戏(Swing版)

    2008年的时候,在学习Java how to program第五版的时候,写过一个猜数字小游戏,是用Applet写的: 现在,我要用Swing重写这个小游戏,同时,加入一些新功能,如:背景颜色(红色表示偏高,蓝色表示偏低).弹框.字体控制.布局管理器的使用. 运行截屏: 代码如下: //Guess a number between 1 and 1000 //Java how to program, 10/e, Exercise 12.14 //by pandenghuang@163.com /

随机推荐