Java基础
文章平均质量分 74
墨染秦月
静水流深
展开
-
Java类加载顺序问题
测试java代码块中静态块,初始块,构造块的执行顺序。定义三个类A,B,C,B继承于A,C继承于B。代码如下:package 类加载问题;public class A { static{ System.out.print("A类静态块1 "); } { System.out.print("A类初始块1 "); } public A(){ System.out.p...原创 2018-06-20 22:53:49 · 329 阅读 · 0 评论 -
GUI编程基础学习(五)——图片的获取、显示及裁剪
Java提供了java.awt.Image包来管理与图像文件相关的信息,因此执行与图像文件有关的操作需要导入这个包。除了Image类之外,java.awt包还提供了其他的基本图像支持,例如Graphics类的drawImage()方法、Toolkit对象的getImage()方法及MediaTracker类。Toolkit类提供了两个getImage()方法来加载图片:①Image g...原创 2019-01-09 20:50:14 · 1658 阅读 · 1 评论 -
GUI编程基础学习(七)——动作事件、鼠标事件、键盘事件
动作事件处理动作事件由ActionEvent类定义,最常用的是点击按钮后产生动作事件,可以通过实现ActionListener接口处理相应的动作事件;ActionListener接口只有一个抽象方法,将在动作发生后触发,ActionListener接口的具体定义如下:public interface ActionListener extends EventListener{ ...原创 2019-01-14 20:55:08 · 1670 阅读 · 1 评论 -
GUI编程基础学习(四)——常见几何图形的绘制
绘制直线在Java中可以使用以下方法绘画一条直线drawLine(int x1,int y1,int x2,int y2);其中参数(x1,y1)是直线的起点,(x2,y2)是直线的终点绘制矩形Java提供了绘画空心矩形(只绘制矩形的轮廓)和填充矩形的方法,分别针对普通直线矩形、圆角矩形和三维矩形有不同的绘制方法。①直角矩形绘制直角矩形的轮廓:drawRect(...原创 2019-01-08 20:47:57 · 2685 阅读 · 0 评论 -
GUI编程基础学习(三)——单选按钮、复选框、组合框
单选按钮JRadioButtonJRadioButton组件用于实现一个单选按钮。JRadioButton类可以单独使用,也可以与ButtonGroup类联合使用,当其单独使用时,该单选按钮可以被选定和被取消选定;当与ButtonGroup类联合使用时,需要使用add()方法将JRadioButton添加到ButtonGroup中,组成一个单选按钮按钮组,此时用户只能选定按钮组中的一个单选按钮...原创 2019-01-07 21:29:50 · 3107 阅读 · 0 评论 -
GUI编程基础学习(二)——标签、文本框、按钮
标签JLabelJLabel是一种常用的组件,一般用于显示固定的文字信息,同时它也可以显示图片:JLabel常用构造方法:①JLabel() 创建无图像并且其标题为空字符串的 JLabel。②JLabel(Icon image) 创建具有指定图像的 JLabel 实例。③JLabel(Icon image, int horizontalAlignment) 创建具有指定图像和水...原创 2019-01-06 20:42:36 · 3890 阅读 · 0 评论 -
GUI编程基础学习(一)——框架JFrame、面板JPanel
框架JFrame框架是Swing GUI应用程序的主窗口,窗口有边界、标题、关闭按钮等。JFrame类是java.awt包中Frame类的子类,它创建的对象时窗体,窗体是重量级容器;补充:javax.swing包下的大部分组件是由Java代码实现的轻量级组件,因此它具备平台移植性,而java.awt包下的大部分组件则是调用了操作系统的函数画出来的组件;轻量级组件必须布局在重量级组件之上...原创 2019-01-05 21:04:08 · 1701 阅读 · 6 评论 -
GUI编程基础学习(六)——进度条、定时器、对话框
进度条JProgressBar使用JProgressBar创建进度条组件,该组件可以使用一种颜色动态地填充自己,以便显示某任务完成的百分比。JProgressBar常用构造方法:①JProgressBar():创建一个显示边框但不带进度字符串的水平进度条②JProgressBar(BoundedRangeModel model):创建使用指定的保存进度条数据模型的水平进度条③J...原创 2019-01-10 21:14:36 · 850 阅读 · 0 评论 -
UDP网络编程简单实现
由于最近编写的游戏涉及到了网络编程这块,所以特意记录下。UDP简介UDP协议的全称是用户数据报,在网络中它与TCP协议一样用于处理数据报。在OSI模型中,UDP位于第四层——传输层,处于IP协议额上一层。UDP有不提供数据报分组、组装以及不能对数据报排序的缺点。当报文发送之后,是无法得知其是否安全完整到达的。由于UDP不属于连接性协议的特性,因此具有资源消耗小、处理速度快的优点,所以通...原创 2019-01-01 00:18:42 · 3646 阅读 · 5 评论 -
JPanel最小化后JButton按钮大小异常解决办法
这几天做了个华容道游戏,中途碰到了一个bug,就是游戏进入下一关后窗口最小化,然后还原游戏窗口,游戏面板的最后一个JButton变成全屏了,如下图所示:翻阅了很多帖子,大致问题就是JPanel默认面板布局的问题,在这里我在游戏面板的paint()方法中加入setLayout(null),问题解决。 public void paint(Graphics g){ setLayou...原创 2018-12-23 20:10:02 · 462 阅读 · 0 评论 -
try-catch-finally顺序问题
探讨try-catch-finally异常捕获块的执行顺序:原创 2018-06-21 18:09:02 · 258 阅读 · 0 评论 -
自动生成迷宫
知识点①基于rank优化的并查集,用来检测两点是否相连,提高根节点查找效率②最小生成树,通过随机权值,生成一个随机迷宫设计思想可以初始化一个网格地图,然后逐渐打通其中的墙,这里以5*5网格为例,“ ”表示结点,“#”表示墙;打通前:可以看出,这里一共有25个结点,如果要形成迷宫,需要打破24堵结点之间的墙;创建边Edge类,存储边的起点和终点以及权值,每个结点只和自...原创 2019-01-22 01:57:31 · 5631 阅读 · 0 评论