![](https://img-blog.csdnimg.cn/c81a1529029b4defbba199dd94387728.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java高级图形页面
源码➕解析➕讲解,一步到位
爱睡觉的小馨
Java基础、Java高级、HTML与CSS、JavaScript、数据结构、MYSQL、oracle、android、C++、SSH、离散数学、高数、英语、python
展开
-
Java生产者-消费者问题“HotDog”:生产者生产15个热狗(数字即可),放在可放四个热狗的盘子里,盘子满就暂停生产;消费者吃盘子里的热狗,吃光则等待生产
Java生产者-消费者问题“HotDog”1、案例描述2、代码实现:HotDag.javaProducet.javaConsumer.javaTest.java实现效果1、案例描述生产者-消费者问题“HotDog”:生产者生产15个热狗(数字即可),放在可放四个热狗的盘子里,盘子满就暂停生产;消费者吃盘子里的热狗,吃光则等待生产——————————————————————————————————创建热狗了HotDog再该类中创建成员变量 int panzi =0,size=0 分别代表盘子的数量原创 2021-12-20 00:14:00 · 456 阅读 · 0 评论 -
Java使用DatagramSocket构建单向聊天室,服务器端发送信息,客户端接收信息
单向聊天室服务器端:ChatRoomClient.java客户端:ChatRoomServer.java效果:服务器端:ChatRoomClient.javapackage 网络编程;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;import原创 2021-12-20 00:13:26 · 392 阅读 · 0 评论 -
Java多选按钮的监听使用以及提示框弹出的使用
import java.awt.BorderLayout;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import javax.swing.*;public class JRadioButtonDemo extends原创 2021-12-20 00:12:37 · 732 阅读 · 0 评论 -
Java线程问题:依次输入老师数量、回车、学生数量、回车、老师数量乘以学生数量个分值,输出每名老师下所有学生的总分数
package demo;import java.util.Scanner;public class Demo6{ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("依次输入老师数量、回车、学生数量、回车、老师数量乘以学生数量个分值"); Scanner sc=new Scanner(System.in); int tNo=sc.nextI原创 2021-12-20 00:11:51 · 115 阅读 · 0 评论 -
Java关于线程的例子(线程的运行方式)
package demo;import java.util.Random;public class Demo3{ public static void main(String[] args) { Thread1 tr1=new Thread1(); Thread2 tr2=new Thread2(); tr1.start(); Thread tr=new Thread(tr2); tr.start(); }}class Thread1 extends Thr原创 2021-12-20 00:10:12 · 119 阅读 · 0 评论 -
Java高级学习题库(I/O流、文件的拷贝、创建文件、设置文件读写、统计字符串中字符的个数、线程、通信、GUI)
Java高级练习题1、分析下列程序功能(I/O流内容写入文件)2、利用文件输入输出流编写一个实现文件拷贝的程序,源文件名和目标文件名通过命令行参数传入。3、编写一个程序,在当前目录下创建一个子目录test,在这个新创建的子目录下创建一个文件,并把这个文件设置成只读。4、编写一个程序,从键盘输入一串字符,统计这串字符中英文字母、数字、其他符号的字符数。5、编写一个程序,从键盘输入一串字符,从屏幕输出并将其存入a.txt文件中。6.编写一个程序,从键盘输入10个整数,并将这些数据排序后在标准输出上输出。7、下列原创 2021-12-16 00:05:35 · 998 阅读 · 0 评论 -
【Java网络编程】[文字图片说明] <课本版>
网络编程网络编程基础:网络通信协议ip地址和端口号InetAddressUDP与TCP协议UDP通信:UDP通信简介DatagramPacketDatagramSocketUDP网络编程UDP案例——聊天程序TCP通信:TCP通信简介ServerSocketSocket简单的TCP网络程序多线程的TCP网络程序TCP案例——文件上传小结:网络编程基础:网络通信协议ip地址和端口号InetAddressUDP与TCP协议UDP通信:UDP通信简介DatagramPacket原创 2021-12-15 00:15:03 · 339 阅读 · 0 评论 -
Java网络编程UDP网络通信案例——聊天程序
主页面:package 网络编程;import java.net.DatagramSocket;import java.net.SocketException;import java.util.*;public class _6_3_聊天主页面 { public static void main(String[] args) throws SocketException { System.out.println("启动聊天程序"); Scanner sc = new .原创 2021-12-15 00:14:40 · 750 阅读 · 0 评论 -
Java网络编程UDP网络通信案例——接收数据
接受端:package 网络编程;import java.io.IOException;import java.net.*;//一定要先运行接收端,不然会造成数据丢失public class _5_2_接收端 { public static void main(String[] args) throws IOException { byte []b = new byte[1024]; //集装箱 DatagramPacket dp = new DatagramPacke.原创 2021-12-14 09:46:34 · 253 阅读 · 0 评论 -
Java—JDBC简单表格是制作
package jbdc;import javax.swing.*;public class _8_TableDemo表格组件 { public static void main(String[] args) { // TODO Auto-generated method stub new MyTable(); }}class MyTable extends JFrame{ JTable table; JScrollPane jsp; MyTable(原创 2021-03-27 10:08:54 · 174 阅读 · 0 评论 -
Java—JDBC——Java操作数据库实现更新信息的功能
package jbdc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import tools.DBUtil;public class _5_update { public static void main(String[] args) { // TO原创 2021-03-27 10:08:43 · 614 阅读 · 0 评论 -
Java—JDBC——Java操作数据库实现查询信息的功能
package jbdc;import java.sql.*;import tools.DBUtil;public class _5_6_find { public static void main(String[] args) { Connection conn = DBUtil.getConn(); PreparedStatement psmt = null ; //---------------------------------------- 查找原创 2021-03-27 10:08:30 · 314 阅读 · 0 评论 -
Java—JDBC——Java操作数据库实现删除信息的功能
package jbdc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import tools.DBUtil;public class _4_delete { public static原创 2021-03-27 10:08:17 · 631 阅读 · 0 评论 -
Java—JDBC——Java操作数据库实现添加信息的功能
package jbdc;import java.sql.*;import tools.DBUtil;public class _3_insert { public static void main(String[] args) { // TODO Auto-generated method stub Connection conn = DBUtil.getConn(); PreparedStatement psmt = null; ///////////////////原创 2021-03-27 10:08:05 · 339 阅读 · 0 评论 -
Java—JDBC——Java获取数据库中存放的信息(两种方法的代码实现)
方法一:package jbdc;import java.sql.*;public class _1_JdbcDemo { public static void main(String[] args) { Connection conn = null; Statement smt = null; ResultSet rs = null; try {//--------------------------------------------------.原创 2021-02-23 20:40:08 · 1090 阅读 · 0 评论 -
Java—JDBC——Java与数据库的连接(代码实现)
package tools;//数据库的一个工具类import java.sql.*;public class DBUtil {//创建一个连接对象 public static Connection getConn() { Connection conn = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); System.out.println("加载成功"); } catch (Cl原创 2021-02-22 13:52:03 · 346 阅读 · 0 评论 -
Java超市收银系统(连接数据库实现具体功能)(源码——即搬可用)
首先先看一下文件夹以及包的位置:登录页面的制作:package view;import java.awt.*;import java.awt.event.*;import javax.swing.*;//窗体的默认布局是边界布局管理器//面板的默认布局是流式布局管理器public class _1_LoginFrame extends JFrame{ //面板 JPanel jp1,jp2,jp3; //标签 JLabel labimg,labusr,labpwd原创 2021-02-18 18:08:34 · 17780 阅读 · 712 评论 -
Java多线程通讯——同步锁的高端操作
package thread;//资源相同,分工不同//线程通信至少三个类//凡是操作资源的语句都需要加上同步代码块(同步锁)//锁内的代码块执行完后,锁外的抢夺和输出同时进行(抢夺cpu)//根据布尔值控制(进和出的)等待和唤醒过程public class _a8_多线程通信 { public static void main(String[] args) { Resourse r =new Resourse(); Input in = new Input(r); O原创 2021-02-18 18:07:34 · 148 阅读 · 0 评论 -
Java线程安全同步锁的使用案例:有两个储户分别向同一个账户存3000元,每次存1000,存3次。每次存完打印账户余额
package thread;//有两个储户分别向同一个账户存3000元,每次存1000,存3次。每次存完打印账户余额public class _a6_银行卡与存折存款 { public static void main(String[] args) { MyCount c = new MyCount(); Thread t1 = new Thread(c,"老婆"); Thread t2 = new Thread(c,"老公"); t1.start(); t2.s原创 2021-02-18 18:07:15 · 437 阅读 · 1 评论 -
Java线程安全同步锁的使用举例:3个老师同时发放80分学习笔记,每个老师相当于一个线程
package thread;//3个老师同时发放80分学习笔记,每个老师相当于一个线程public class _a4_分发笔记同步锁 { public static void main(String[] args) { biJi biji = new biJi(); Thread t1 = new Thread(biji,"老师1"); Thread t2 = new Thread(biji,"老师2"); Thread t3 = new Thread(biji,"原创 2021-01-05 17:22:35 · 831 阅读 · 1 评论 -
Java线程安全——同步锁的使用(同步代码块与同步函数的使用)
当不使用代码锁的时候是不能够保证线程的安全性问题的,不使用安全锁的时候有时候可能会出现很多问题,例如常见的问题有:次序的扰乱:我们经常会看到卖票等程序买的票数的张数不是紧挨着卖的,而是多个线程可能买的票的序号相同,而且可能循环已经截止了但还是会输出多余的语句,这是因为循环结束前线程已经抢夺到了cup的执行权但是没有执行出来,所以当循环结束后仍会继续打印出来多余的语句。有时候还会出现卖的票是负值的情况,这都是由于没有使用同步锁的原因 注意:1、至少有两个线程或以上而且共享同一个资源而且操作资源的语句至原创 2021-01-05 17:21:46 · 404 阅读 · 1 评论 -
Java网络编程键盘录入实现两个人网络对话
键盘录入服务器端 :package 网络编程;import java.io.*;import java.net.*;import java.util.*;public class _4_1_键盘录入服务器端 { public static void main(String[] args) throws IOException { ServerSocket ss = new ServerSocket(8888);// System.out.println("等待连接"); .原创 2021-01-05 17:21:06 · 323 阅读 · 0 评论 -
Java网络编程实现图片的复制操作(网络输入流与网络输出流的使用)
读写图片服务器端:package 网络编程;import java.io.*;import java.net.*;public class _3_1_读写图片服务器端 { public static void main(String[] args) throws IOException { ServerSocket ss = new ServerSocket(7777); System.out.println("等待连接"); Socket s = ss.accept(.原创 2021-01-05 17:20:33 · 478 阅读 · 0 评论 -
Java建立TCP服务器端与客户端的信息交流(三次握手)
package 网络编程;import java.io.*;import java.net.*;//一定先运行服务器端public class _3_TCP服务器端 { public static void main(String[] args) throws IOException { ServerSocket ss = new ServerSocket(6666);//max : 65536 System.out.println("等待连接"); Socket s = s原创 2021-01-05 17:20:14 · 353 阅读 · 1 评论 -
Java网络编程获取IP地址与主机名
package 网络编程;import java.net.*;public class _1_获取IP地址与主机名 { public static void main(String[] args) throws UnknownHostException { //获取本地主机地址——————————返回类型:InetAddress InetAddress ia = InetAddress.getLocalHost(); System.out.println(ia); //获原创 2021-01-05 17:19:53 · 297 阅读 · 0 评论 -
Java线程的调度(线程的优先级、线程睡眠、线程让步、线程插队)
线程的优先级 :Java语言中线程有优先级,优先级高的线程会获得较多的运行机会。 当程序中有多个线程存在的时候,线程和线程之间的关系并非是平等的。Java语言中线程的优先级用整数表示,取值范围是1~10,Thread类由以下三个静态常量表示线程的优先级。(1)static int MAX_PRIORITY线程可以具有的最高优先级,取值为10。(2)static int MIN_PRIORITY线程可以具有的最低优先级,取值为1。(3)static int NORM_PRIORITY分配给线程原创 2020-12-19 18:34:54 · 504 阅读 · 0 评论 -
Java多线程模拟驾校学车——假设共有30个学员,其中20个普通学员,10个VIP学员,两类学员并行叫号练车 ,叫号要求:vip学员被叫号的概率要高,vip学习时长是普通学员的3倍数···
假设共有30个学员,其中20个普通学员,10个VIP学员,两类学员并行叫号练车叫号要求:vip学员被叫号的概率要高,vip学习时长是普通学员的3倍数,vip学员要在普通学员之前结束练车package thread;//模拟驾校学车,假设共有30个学员,其中20个普通学员,10个VIP学员,两类学员并行叫号练车//叫号要求:vip学员被叫号的概率要高,vip学习时长是普通学员的3倍数,vip学员要在普通学员之前结束练车public class _9_VIP学员练车测试 { public stat原创 2020-12-19 18:34:33 · 261 阅读 · 1 评论 -
Java多线程——线程的生命周期与状态转换
线程的生命周期:一个线程从创建、启动到终止期间的任何时刻,总是处于下面五个状态中的某个状态。线程的状态:创建状态(new Thread) 执行下列语句时,线程就处于创建状态: Thread myThread = new MyThreadClass( ); 当一个线程处于创建状态时,它仅仅是一个空的线程对象,系统不为它分配资源。可运行状态(Runnable)Thread myThread = new MyThreadClass();myThread.start();在创建线程后,原创 2020-12-13 13:08:30 · 170 阅读 · 0 评论 -
Java多线程——后台线程的判断与使用
新创建的线程默认都是前台线程,如果某个线程对象在启动之前调用了setDaemon(true)语句,这个线程就变成了一个后台线程。说明:在Java程序中,只要有一个前台线程在运行,这个进程就不会结束。但是,如果一个进程中只有后台线程在运行,这个进程就会结束。实例:package thread;//后台线程public class _4_Deamon后台线程 { public static void main(String[] args) { //判断是否为后台线程 System.原创 2020-12-11 18:12:13 · 518 阅读 · 0 评论 -
Java多线程的介绍、创建与多线程实现火车票售票案例描述
相关知识:什么是多线程 ?线程实现的两种方式 ?线程的调度 ?多线程的互斥 ?进程与线程:并发执行:多个程序块同时运行的现象被称为并发执行。进程:简单地说,在多任务系统中,每个独立执行的程序称为进程,也就是“正在运行的程序”。线程:是程序中的一条执行路径。在一个程序中可以同时运行多个不同的线程来执行不同的任务。多线程是指程序中包含多条执行路径。多线程是Java语言的一大特性。多线程允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。注意:一个进程中至少有一个线程原创 2020-12-09 14:57:26 · 293 阅读 · 0 评论 -
Java:QQ登录页面的制作(实现成功登录的代码)——含源码
图形页面(为实现登录、退出功能):package First;import java.awt.*;import java.awt.event.*;import javax.swing.*;/* ----------------------------------------------- 4、编写程序入口 -------------------------------------------------- *///QQ登录入口public class _b3_QQ页面的实现 { .原创 2020-11-28 11:07:25 · 6588 阅读 · 38 评论 -
Java——菜单的的制作(制作简写版的电脑上的记事本)
package First;//菜单有菜单栏与菜单项import javax.swing.*;import java.awt.*;import java.awt.event.*;public class _b2_菜单 { public static void main(String[] args) { new MyMenu("菜单"); }}//菜单栏是不需要添加到面板上的,直接添加到JFrame窗口上面class MyMenu extends JFrame{ //原创 2020-11-28 11:06:30 · 334 阅读 · 0 评论 -
Java——下拉框页面的制作
package First;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class _b1_下拉框 { public static void main(String[] args) { new MyCombo("下拉框页面"); }}class MyCombo extends JFrame{ //面板 JPanel jp; //下拉框 JComboBox<Stri原创 2020-11-22 09:56:08 · 607 阅读 · 0 评论 -
Java——按钮事件创建单选框实现图形页面的颜色变换
package First;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class _a9_按钮事件2_单选按钮 { public static void main(String[] args) { new myButten2("颜色变化单选框"); }}class myButten2 extends JFrame{ //单选按钮 JRadioButton rad1 , rad原创 2020-11-22 09:55:51 · 879 阅读 · 0 评论 -
Java——按钮事件创建复选框实现文字的加粗与倾斜功能
package First;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class _a9_按钮事件_复选框 { public static void main(String[] args) { new myButten("倾斜加粗复选框"); }}class myButten extends JFrame{ //标签 JLabel lab; //面板 JPanel j原创 2020-11-22 09:55:29 · 1241 阅读 · 0 评论 -
Java:猜猜看页面制作
2原创 2020-11-15 11:14:26 · 105 阅读 · 0 评论 -
Java——多功能计算器的布局实现
方法一:package First;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class _a5_加减乘除计算机 { public static void main(String[] args) { new MyCalculator("计算器v1.1"); }}class MyCalculator extends JFrame{ //创建面板 JPanel jp1,原创 2020-11-12 19:08:21 · 1823 阅读 · 0 评论 -
Java高级:鼠标监听的代码文字图片说明
package First;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class _a7_鼠标监听 { public static void main(String[] args) { new MyMouse(); }}class MyMouse extends JFrame{ JButton btn ; MyMouse(){ setTitle("鼠标移动事件");原创 2020-11-12 09:35:58 · 314 阅读 · 2 评论 -
Java——键盘事件(通过代码获取键盘上字母、数字、符号的ASSIC码值)
package First;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class _a8_键盘事件 { public static void main(String[] args) { new MyKey("键盘字符获取ASSIC码值"); }}class MyKey extends JFrame{ JTextField jtf; MyKey(String s){原创 2020-11-02 09:36:44 · 1764 阅读 · 0 评论 -
Java——使用文本组件编写聊天窗口
package First;import java.awt.*;import javax.swing.*;public class _a3_使用文本组件编写聊天窗口 { private static void createAndShowGUI() { //1.创建一个JFrame聊天窗口 JFrame f = new JFrame("聊天窗口"); f.setLayout(new BorderLayout()); f.setSize(400, 300);原创 2020-10-31 12:45:42 · 2006 阅读 · 0 评论