Java GUI小程序--画板

2023-05-16

  画板

一个可以绘画的简单绘图软件


本文用两个类来实现画板的基本功能

(源代码在文章最后面)



画板制作分两个部分:

(一)界面布局

(二)实现功能

小知识:

setBounds(x,y,width,height);

 x:组件在容器X轴上的起点 

 y:组件在容器Y轴上的起点 

 width:组件的长度 

 height:组件的


下面就是一个按钮的简单布局



下面就来开始制作这个画板把

一、界面布局

1.定义所有按钮,把按钮全部放置到面板中

package gary;

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

public class PaintFrame extends JFrame{
	JButton line,rect,round,chooseColor,save,exit;
	
	//构造方法对面板进行初始化
	public PaintFrame() {
		//1.初始化所有按钮
		line = new JButton("线");
		rect = new JButton("矩形");
		round = new JButton("圆形");
		chooseColor = new JButton("选择颜色");
		save = new JButton("保存");
		exit = new JButton("退出");
		
		//2.初始化窗口
		setTitle("画板");
		setSize(600,600);
		setResizable(false);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		//3.把按钮放置在窗口中
		add(line);
		add(rect);
		add(round);
		add(chooseColor);
		add(save);
		add(exit);
		
		//4.重定位按钮
		line.setBounds(1,10,60,30);
		rect.setBounds(1,40,60,30);
		round.setBounds(1,70,60,30);
		chooseColor.setBounds(1,100,60,30);
		save.setBounds(1,130,60,30);
		exit.setBounds(1,160,60,30);
		
		//end.设置布局为空,使窗口可见
		setLayout(null);
		setVisible(true);
	}
	
	public static void main(String[] args) {
		new PaintFrame();
	}
}

		chooseColor.setBackground(selectColor);


这样这些按钮就放到面板上了


2.把绘图区放置到面板中

绘图区我们用JPanel类来制作,JPanel是一个轻量级面板,不可以单独存在,必要要放到Frame面板上,Frame是一个重量级面板,可以单独存在

定义一个PaintPanel类用来继承JPanel

接着到PaintFrame这个类中初始化放置绘图区到面板上:

初始化

		//step2:初始化绘图区
		panel = new PaintPanel();
		panel.setBackground(Color.WHITE);		//设置绘图区为白色
把绘图区放置到窗口中

		//step2:把绘图区放置到窗口中
		add(panel);
定义绘图区

		//重定位绘图区
		panel.setBounds(65,10,520,550);


面板右边就绘制了一个绘图区,为后面绘制直线、圆、矩形设置了一个面板

3.定义颜色

     在PaintFrame类中定义一个颜色

//默认颜色是
	Color selectColor = Color.GRAY;

 将"选择颜色"按钮定义为灰色


	chooseColor.setBackground(selectColor);


PaintFrame类完整代码如下:

package gary;

import java.awt.Color;

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

public class PaintFrame extends JFrame{
	//定义按钮
	JButton line,rect,round,chooseColor,save,exit;
	
	//定义一个绘图区
	PaintPanel panel;
	
	//默认颜色是
	Color selectColor = Color.GRAY;
	
	
	//构造方法对面板进行初始化
	public PaintFrame() {
		//1.初始化所有按钮
		line = new JButton("线");
		rect = new JButton("矩形");
		round = new JButton("圆形");
		chooseColor = new JButton("选择颜色");
		save = new JButton("保存");
		exit = new JButton("退出");
		//初始化绘图区
		panel = new PaintPanel();
		panel.setBackground(Color.WHITE);		//设置绘图区为白色
		chooseColor.setBackground(selectColor);
		
		//2.初始化窗口
		setTitle("画板");
		setSize(600,600);
		setResizable(false);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		
		//3.把按钮放置在窗口中
		add(line);
		add(rect);
		add(round);
		add(chooseColor);
		add(save);
		add(exit);
		//step2:把绘图区放置到窗口中
		add(panel);
		
		//4.重定位按钮
		line.setBounds(1,10,60,30);
		rect.setBounds(1,40,60,30);
		round.setBounds(1,70,60,30);
		chooseColor.setBounds(1,100,60,30);
		save.setBounds(1,130,60,30);
		exit.setBounds(1,160,60,30);
		//重定位绘图区
		panel.setBounds(65,10,520,550);
		
		//end.设置布局为空,使窗口可见
		setLayout(null);
		setVisible(true);
	}
	
	public static void main(String[] args) {
		new PaintFrame();
	}
}


(左边就是面板的功能区,右边就是画板绘图区,接下来我们就要实现这些按钮的基本功能了)

二、实现功能


1.退出(最简单的一个)

		exit.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent arg0) {
				System.exit(0);
			}
			
		});

2.选择颜色

showDialog(Component component, String title, Color initialColor)创建一个颜色对话框参数component指定对话框所依赖的组件,title指定对话框的标题;initialColor指定对话框返回默认颜色

		chooseColor.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				Color color = JColorChooser.showDialog(null, "请选择颜色", selectColor);
				selectColor = color;		//默认颜色设置成选择的颜色
				//讲选择的颜色返回到按钮"选择颜色"的背景上
				chooseColor.setBackground(selectColor);
			}
			
		});


3.线、矩形、圆形

在PaintPanel类中定义一个String类型的变量type,用表示下一次要画的图形类型




在PaintFrame中添加这三个按钮的监听器,每按下一个按钮,改变type的值

               //直线
		line.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				//改变绘图区的type变量的值为"line"
				panel.type = "line";
			}
			
		});
		
		//矩形
		rect.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				//改变绘图区的type变量的值为"rect"
				panel.type = "rect";
			}
			
		});
		
		//圆
		round.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				//改变绘图区的type变量的值为"round"
				panel.type = "round";
			}
			
		});


接下来到PaintPanel类JPanel轻量级面板上实现三个按钮的功能

关键就是给绘图区添加鼠标点击和释放的监听器

PaintPanel类中定义一个x,y来表示鼠标的横纵坐标

//表示鼠标的横纵坐标
	int x,y;

在绘图区给鼠标添加点击和释放的监听器

点击鼠标时候获得绘制图形起点x,y坐标

释放鼠标时候获得绘制图形终点x,y坐标

用type的不同值来调用Graphics2D类中不同方法绘画出不同的图形


addMouseListener(new MouseListener() {

	
			@Override
			public void mousePressed(MouseEvent e) {
				// 按下
				//获得图形的原点
				x = e.getX();
				y = e.getY();
			}

			@Override
			public void mouseReleased(MouseEvent e) {
				// 释放
				//获得图形的终点
				int x1 = e.getX();
				int y1 = e.getY();
				//获得绘图区的作图器
				Graphics2D g = (Graphics2D)getGraphics();
				//根据type的值绘制不同类型的图形
				if(type.equals("line")) {
					//绘制直线
					g.drawLine(x,y, x1, y1);
				}
				if(type.equals("rect")) {
					//绘制矩形
					g.drawRect(x,y,x1-x,y1-y);
				}
				if(type.equals("round")) {
					//绘制椭圆形
					g.drawOval(x, y, x1-x, y1-y);
				}
				
			}


接下来把颜色添加到绘画图形线条上面

在PaintPanel类中定义一个Color类的变量

	//要绘制的颜色
	Color selectColor;
在释放鼠标绘图器开始绘图的时候添加上颜色
				Graphics2D g = (Graphics2D)getGraphics();
				//给作图器设置绘图的颜色
				g.setColor(selectColor);

PaintFrame类设置监听器"设置颜色"按钮上给 PaintPanel获得选择的颜色

//选择颜色
		chooseColor.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				Color color = JColorChooser.showDialog(null, "请选择颜色", selectColor);
				selectColor = color;		//默认颜色设置成选择的颜色
				//讲选择的颜色返回到按钮"选择颜色"的背景上
				chooseColor.setBackground(selectColor);
				panel.selectColor = selectColor;
			}
			
		});


4.保存

在PaintFrame类中添加"保存"按钮的监听器

		//保存
		save.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent arg0) {
				JFileChooser chooser = new JFileChooser();
				int cnt = chooser.showDialog(null,"保存");
				if(cnt == 0 ) {
					//用户选中的文件
					File file = chooser.getSelectedFile();
					System.out.println("file = " + file.getAbsolutePath());
					panel.save(file);
				}
			}
				
		});


在PaintPanel类中实现保存功能,调用 PaintPanel类中save()保存方法

public void save(File file) {
		//获得相对于文件的缓冲图片
		BufferedImage image= new BufferedImage(getWidth(),getHeight(),BufferedImage.TYPE_INT_RGB);
		//从缓冲图片中获得作图器
		Graphics g = image.getGraphics();
		g.setColor(Color.white);
		g.fillRect(0, 0, getWidth()+1, getHeight()+1);
		//向缓存图片上写绘制所有的图形
	}

 

到这里一个简单的画板就制作出来啦O(∩_∩)O,程序比较简单还有很多可以完善的地方,两个类的代码留在下面就当一起学习吧

PaintFrame类

package gary;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JFileChooser;
import javax.swing.JFrame;

public class PaintFrame extends JFrame{
	//定义按钮
	JButton line,rect,round,chooseColor,save,exit;
	
	//定义一个绘图区
	PaintPanel panel ;
	
	//默认颜色是
	Color selectColor = Color.GRAY;
	
	
	//构造方法对面板进行初始化
	public PaintFrame() {
		//1.初始化所有按钮
		line = new JButton("线");
		rect = new JButton("矩形");
		round = new JButton("圆形");
		chooseColor = new JButton("选择颜色");
		save = new JButton("保存");
		exit = new JButton("退出");
		//初始化绘图区
		panel = new PaintPanel();
		panel.setBackground(Color.WHITE);		//设置绘图区为白色
		chooseColor.setBackground(selectColor);
		panel.selectColor = selectColor;
		
		//2.初始化窗口
		setTitle("画板");
		setSize(600,600);
		setResizable(false);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		
		//3.把按钮放置在窗口中
		add(line);
		add(rect);
		add(round);
		add(chooseColor);
		add(save);
		add(exit);
		//step2:把绘图区放置到窗口中
		add(panel);
		
		//4.重定位按钮
		line.setBounds(1,10,60,30);
		rect.setBounds(1,40,60,30);
		round.setBounds(1,70,60,30);
		chooseColor.setBounds(1,100,60,30);
		save.setBounds(1,130,60,30);
		exit.setBounds(1,160,60,30);
		//重定位绘图区
		panel.setBounds(65,10,520,550);
		
		//5.给各个按钮注册监听器
		//直线
		line.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				//改变绘图区的type变量的值为"line"
				panel.type = "line";
			}
			
		});
		
		//矩形
		rect.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				//改变绘图区的type变量的值为"rect"
				panel.type = "rect";
			}
			
		});
		
		//圆
		round.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				//改变绘图区的type变量的值为"round"
				panel.type = "round";
			}
			
		});
		
		//选择颜色
		chooseColor.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				Color color = JColorChooser.showDialog(null, "请选择颜色", selectColor);
				selectColor = color;		//默认颜色设置成选择的颜色
				//讲选择的颜色返回到按钮"选择颜色"的背景上
				chooseColor.setBackground(selectColor);
				panel.selectColor = selectColor;
			}
			
		});
		
		//保存
		save.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent arg0) {
				JFileChooser chooser = new JFileChooser();
				int cnt = chooser.showDialog(null,"保存");
				if(cnt == 0 ) {
					//用户选中的文件
					File file = chooser.getSelectedFile();
					System.out.println("file = " + file.getAbsolutePath());
					panel.save(file);
				}
			}
				
		});
		
		//退出
		exit.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent arg0) {
				System.exit(0);
			}
			
		});
		
		//end.设置布局为空,使窗口可见
		setLayout(null);
		setVisible(true);
	}
	
	public static void main(String[] args) {
		new PaintFrame();
	}
}


 PaintPanel类

package gary;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.swing.JPanel;

public class PaintPanel extends JPanel{
	
	//表示下一次要画的图形类型 "line","rect","round"
	String type = "line";
	
	//表示鼠标的横纵坐标
	int x,y;
	
	//要绘制的颜色
	Color selectColor;
	
	public PaintPanel() {
		//给绘图区添加鼠标点击和释放的监听器
		addMouseListener(new MouseListener() {

	
			@Override
			public void mousePressed(MouseEvent e) {
				// 按下
				//获得图形的原点
				x = e.getX();
				y = e.getY();
			}

			@Override
			public void mouseReleased(MouseEvent e) {
				// 释放
				//获得图形的终点
				int x1 = e.getX();
				int y1 = e.getY();
				//获得绘图区的作图器
				Graphics2D g = (Graphics2D)getGraphics();
				//给作图器设置绘图的颜色
				g.setColor(selectColor);
				
				//根据type的值绘制不同类型的图形
				if(type.equals("line")) {
					//绘制直线
					g.drawLine(x,y, x1, y1);
				}
				if(type.equals("rect")) {
					//绘制矩形
					g.drawRect(x,y,x1-x,y1-y);
				}
				if(type.equals("round")) {
					//绘制椭圆形
					g.drawOval(x, y, x1-x, y1-y);
				}
				
			}

			@Override
			public void mouseClicked(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void mouseEntered(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void mouseExited(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}
			
		});
		
	}
	
	public void save(File file) {
		//获得相对于文件的缓冲图片
		BufferedImage image= new BufferedImage(getWidth(),getHeight(),BufferedImage.TYPE_INT_RGB);
		//从缓冲图片中获得作图器
		Graphics g = image.getGraphics();
		g.setColor(Color.white);
		g.fillRect(0, 0, getWidth()+1, getHeight()+1);
		//向缓存图片上写绘制所有的图形
	}
}



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java GUI小程序--画板 的相关文章

  • Ubuntu相对路径和绝对路径

    ubuntu绝对路径 xff1a 例如在目录 home lzj temp下有一个文件filename txt那么filename txt文件的绝对路径就是 home lzj temp ubuntu相对路径 xff1a 如果你当前路径是在 h
  • ubuntu把终端信息输出到文本文件中的方法

    ubuntu把终端信息输出到文本文件中的方法 方法一 xff1a 把终端中所有信息都写到文本文件中 在终端的命令行中输入以下命令 xff1a script f output txt 这样就会在当前目录下创建一个output txt文件 接下
  • ubuntu配置有线网络笔记

    ubuntu配置有线网络笔记 1 用命令ifconfig查看网络信息 eth0 xff0c eth1 xff0c eth2 代表网卡一 xff0c 网卡二 xff0c 网卡三 lo代表127 0 0 1 xff0c 即localhost 2
  • syntax error: unexpected end of file解决方法

    syntax error unexpected end of file解决方法 在windows环境下编辑的脚本通过Xftp上传到linux系统执行的时候会提示syntax error unexpected end of file xff0
  • excel2010取消保护忘记密码宏的方式-针对公务员职位表保护

    excel2010 视图 宏 新建 取消新建 编辑 替换以下内容 Option Explicit Public Sub AllInternalPasswords 39 Breaks worksheet and workbook struct
  • CS5汉化步骤

    CS5汉化步骤 第一步 xff1a 关闭PS xff0c 下载汉化补丁 xff08 zh CN xff09 xff0c 将汉化补丁复制到安装目录下的 Locales 文件夹中 xff0c 通常为 C Program Files Adobe
  • 用eclipse建一个web页面(图文)

    步骤1 xff1a 创建Dynamic Web Project 动态web项目 打开eclipse xff0c 在工具栏选在New gt Dynamic Web Project 在打开的Dynamic Web Project窗口 xff0c
  • pip下载源的两种修改方法

    很多入行网工不久的萌新 xff0c 在使用python进行NetDevOps的过程中 xff0c 需要经常使用python的包管理器pypi下载第三方库 比如paramiko netmiko netaddr等等 但是 xff0c 默认源的下
  • 2、树莓派3 Model B ——— 使用GIT工具安装wiringPi

    1 WiringPi简介 WiringPi是应用于树莓派平台的GPIO控制库函数 xff0c WiringPi遵守GUN Lv3 wiringPi使用C或者C 43 43 开发并且可以被其他语言包转 xff0c 例如python ruby或
  • C语言之文件操作05——矩阵(数据)的读取方法

    数据读取 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 6
  • String和Stringbuff和Stringbuilder区别

    string类型属于引用类型 xff0c 不属于八个基本变量 每次指定一个String a 61 34 a 34 时 xff0c jvm会在内存中新建一个对象 xff0c 当你再给a赋值的时候 xff0c jvm并没有改变a引用的值 xff
  • docker build 后面为什么要跟个 .

    我们在构建镜像文件时无非是使用 xff1a docker build t test ubuntu v1 或者 docker build f docker test Dockerfile 来进行构建镜像 xff0c 用第一个命令时任务 指代的
  • 洛谷P4180 严格次小生成树

    题目描述 小 C 最近学了很多最小生成树的算法 xff0c Prim 算法 Kruskal 算法 消圈算法等等 正当小 C 洋洋得意之时 xff0c 小 P 又来泼小 C 冷水了 小 P 说 xff0c 让小 C 求出一个无向图的次小生成树
  • 【搜索与回溯算法】马的走法

    题目 xff1a 在5X5的棋盘上 xff0c 给定一位置 xff0c 输出马回到原点有多少种不同的方案 注意 xff1a 马走的每一步必须在棋盘上 xff0c 走斜日 xff0c 如下图 xff1a 输入 xff1a 给定一位置 xff0
  • 如何使用mysql api关闭ssl模式提高查询效率

    昨天测试部同事用大呼测试我们的业务系统 xff0c 数据库用的是MySQL 单呼的时候数据库查询正常 xff0c 但是呼叫量一大就出现了数据库查询延迟的情况 经过分析发现是由于MySQL Server的数据库端开启了SSL xff0c 每次
  • iOS开发之多线程--多线程简单介绍

    一 进程和线程 1 什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的 xff0c 每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ Xcode xff0c 系统就会分别启动2 个进程 通过 活动监视器 可
  • UIImageView的基本用法

    UIViewContentModeScaleTo Fill UIViewContentModeScaleAs pectFit contents scaled to fit with fixed aspect remainder is tra
  • compton透明设置

    compton是一个使你窗口透明化的工具 xff0c 如果你当前使用的软件支持窗口透明的功能 xff0c 那么compton可以帮你设置透明度 xff0c 阴影效果 xff0c 窗口切换效果等 对于我来说就用一个透明度设置的功能就可以了 想
  • ubuntu系统配置i3wm窗口管理器

    我的简书 xff1a https www jianshu com p 81917864271e ubuntu系统配置i3wm窗口管理器 文章目录 ubuntu系统配置i3wm窗口管理器前言i3wm的安装i3wm的配置i3wm快捷键配置介绍i
  • windows 10卸载(注销)WSL,注销(卸载)当前安装的Linux的Windows子系统

    虽然 Linux 发行版可以通过 Microsoft Store 安装 xff0c 但不能通过 Microsoft Store 卸载 不想玩了 xff0c 或者玩腻了就考虑去卸载 xff0c 给电脑节省点空间 1 查看当前环境安装的wsl

随机推荐

  • 获取Chrome浏览器的Cookie

    1 通过查看http请求里header信息 xff0c 查看cookie 2 通过查看浏览器 Chrome 的cookie文件 2 1 进入浏览器设置 2 2 点击隐私设置 gt 内容设置 3 通过查看本地cookies文件 osx上 xf
  • PLSQL 登录时弹出(没有登录)空白提示框

    在登录的时候莫名出现了plsql登录时弹出 没有登录 的空白提示框 在网上找了很多方法之后都不行 然后发现plsql的 oracle主目录名莫名的成了空 然后直接重新把它的目录设置上 重启plsql 就能成功登录了 进入PLSQL gt 工
  • STM32之按键点亮LED灯(中断法)

    目录 1 操作思路 2 用CubeMX工具生成的代码 main的主函数 3 GPIO代码 gpio c 4 编写中断服务函数 5 用外部中断共用入口函数 xff0c 来调用外部中断处理回调函数 6 编写外部中断处理回调函数 xff08 在这
  • 进程间通信之——信号量(一)(system V)

    system v信号量又被称为system v信号量集 它的本质就是一个计数器 xff0c 用来为多个进程共享的数据结构提供受控访问 信号量支持的操作有 xff1a 使用最广泛的信号量为二元信号量 xff0c 它控制单个资源 xff0c 对
  • wsl 删除Linux子系统

    步骤 xff1a PS C Users twomiao gt wslconfig l 适用于 Linux 的 Windows 子系统 Ubuntu 20 04 默认 PS C Users twomiao gt wslconfig u Ubu
  • Python常用语句

    1 print和import语句 print xff1a 打印表达式 xff0c 多个表达式之间可以通过逗号 xff08 英文 xff09 进行分隔 gt gt gt print 39 Hello 39 39 World 39 Hello
  • video-to-ascii:在命令行中看视频

    最近GitHub上有个很好玩的项目 xff0c 叫做video to ascii 这是一个简单的python包 xff0c 可以使用字符作为像素在终端中播放视频 安装 xff1a code pip3 install video to asc
  • python3小白实现pipinstall打包全过程(详细)

    本博文源于python基础 xff0c 在实现将py打包成exe全过程中 xff0c 首先要感谢我的朋友圈列表的大佬 然后我们开始叙述打包的过程 共分为以下几步 确定好打包的文件安装pyinstaller在cmd里输入命令完成过程 xff0
  • django-debug-toolbar 的安装及安装中可能遇到的问题

    简介 django debug toolbar 是一个非常方便的工具 xff0c 可以深入了解代码的工作以及它花费的时间 xff0c 特别是它可以显示你的页面生成的所有SQL查询 xff0c 以及每个sql所需要的时间 django deb
  • VS2017动态链接库(.dll)的生成与使用

    这里以VS2017为例子 xff0c 讲解一下动态链接库 xff08 dll xff09 的生成与使用 一 动态链接库 xff08 dll xff09 的生成 1 打开 xff1a 文件 新建 项目 2 打开 xff1a 已安装 模板 Vi
  • 17年软件设计师知识点分析+思维导图

    原文连接 xff1a 最新 17年 软件设计师知识点分析 xff08 思维导图 xff09 历年试题分析 分析完下方有17面软考脑图 xff1a 分析下方的脑图才本文经典部分 xff01 xff01 xff01 历年下午试题分析 xff1a
  • 百练_2680:化验诊断

    描述 下表是进行血常规检验的正常值参考范围 xff0c 及化验值异常的临床意义 xff1a 给定一张化验单 xff0c 判断其所有指标是否正常 xff0c 如果不正常 xff0c 统计有几项不正常 化验单上的值必须严格落在正常参考值范围内
  • encodeURIComponent()的使用

    在使用springMVC的过程中 若想让前台传递的字符串让后台用Date类型自动解析可以通过initBinder函数来实现 之前我用表单提交方式向后台传递时间格式的数据 2013 03 06 22 00 00 可以正确解析 但用自己手动拼接
  • 百练_2718:晶晶赴约会

    描述 晶晶的朋友贝贝约晶晶下周一起去看展览 xff0c 但晶晶每周的1 3 5有课必须上课 xff0c 请帮晶晶判断她能否接受贝贝的邀请 xff0c 如果能输出YES xff1b 如果不能则输出NO 输入 输入有一行 xff0c 贝贝邀请晶
  • 百练_2723:不吉利日期

    描述 在国外 xff0c 每月的13号和每周的星期5都是不吉利的 特别是当13号那天恰好是星期5时 xff0c 更不吉利 已知某年的一月一日是星期w xff0c 并且这一年一定不是闰年 xff0c 求出这一年所有13号那天是星期5的月份 x
  • 数据结构_练习 第4章 串、数组和广义表

    1 xff0e 选择题 xff08 1 xff09 串是一种特殊的线性表 xff0c 其特殊性体现在 xff08 xff09 A xff0e 可以顺序存储 B xff0e 数据元素是一个字符 C xff0e 可以链式存储 D xff0e 数
  • 数据机构_练习 第6章 图

    1 xff0e 选择题 xff08 1 xff09 在一个图中 xff0c 所有顶点的度数之和等于图的边数的 xff08 xff09 倍 A xff0e 1 2 B xff0e 1 C xff0e 2 D xff0e 4 答案 xff1a
  • 数据结构_练习 第7章  查找

    1 xff0e 选择题 xff08 1 xff09 对 n 个元素的表做顺序查找时 xff0c 若查找每个元素的概率相同 xff0c 则平均查找长度为 xff08 xff09 A xff0e n 1 2 B xff0e n 2 C xff0
  • 数据结构_练习 第8章 排序

    1 xff0e 选择题 xff08 1 xff09 从未排序序列中依次取出元素与已排序序列中的元素进行比较 xff0c 将其放入已排序序列的正确位置上的方法 xff0c 这种排序方法称为 xff08 xff09 A xff0e 归并排序 B
  • Java GUI小程序--画板

    画板 一个可以绘画的简单绘图软件 本文用两个类来实现画板的基本功能 xff08 源代码在文章最后面 xff09 画板制作分两个部分 xff1a xff08 一 xff09 界面布局 xff08 二 xff09 实现功能 小知识 xff1a