自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奔跑的狮子

不积跬步无以至千里,不积小流无以成江海。

  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 JavaGUI——界面编程思路

编程思路:定义组件 -> 创建组件 -> 设置布局 -> 添加组件 -> 设置界面属性举个案例:import java.awt.*;import javax.swing.*;public class Text_10 extends JFrame{ //定义组件 JButton jb1; public static void main(String[] args)...

2018-05-31 23:13:31 1521

原创 JavaGUI——绘图技术基础

介绍:绘图技术一般使用在面板JPanel上,绘图技术是重写JPanel的paint制图方法,使用的Graphics制图类来完成各种各样的图案绘制。使用paint制图方法绘制的图形,可以在面板自由的控制位置,不会受面板流式布局的影响。绘图原理:Component类提供了两个和绘图相关的方法:paint(Graphics g)绘制组件外观repaint()刷新组件外观paint方法会自动被调用的情况:...

2018-05-31 19:23:01 4892 5

原创 Java界面编程实战(一)——简易QQ登录界面

目标图:界面分析:从上部和下部可以看出框架应该是用边界布局。边界上部添加一个标签附图,下部添加一个JPanel面板构成流式布局带一个按钮和一个标签链接。在中间部分中,添加一个面板,添加选项卡窗格、文本框、密码框、多选框、标签等组件。代码实现:import java.awt.*;import javax.swing.*;public class Swing_exercise3 extends J...

2018-05-30 14:35:44 3551 8

原创 JavaGUI——swing组件基础(八)菜单栏/菜单/子菜单组件JMenuBar/JMenu/JMenuItem

介绍这三个组件:菜单栏组件JMenuBar:该组件可以添加菜单,添加的菜单会排成一行。菜单栏JMenu:可以显示的一个个的菜单,该组件可以添加子菜单,也可以添加菜单,添加的菜单会排成一列。子菜单JMnuItem:可以添加到菜单中。其实这个三个组件还是有点绕人的,但是大家做一遍就理解了,光看不容易懂。如何创建组件:JMenuBar name=new JMenuBar();    //创建菜单栏JMe...

2018-05-30 14:10:30 16045 4

原创 JavaGUI——swing组件基础(七)选项卡窗格JTabbedPane

为什么要有选项卡组件?在GUI编程中,会涉及到选项卡组件,比如登录界面,你可以选择账号密码登录,还是手机登录,还是邮箱登录。选项卡组件怎么用?选项卡组件JTabbedPane,创建好选项卡后可以添加很多个选项,每个选项都可以有自己的面板,在下例中,只添加了三个选项。代码实现:import java.awt.*;        //导包import javax.swing.*;public cl...

2018-05-29 18:26:30 5164 2

原创 JavaGUI——swing组件基础(六)多行文本框组件JTextArea

为什么要用多行文本框组件?文本框JTextField是单行输入,而多行文本框(JTextArea)可以实现多行输入。实战目标图:界面分析:看到上部占了大部分空间,决定使用边界布局。下部的最下部很像边界布局的SOUTH部分,在这部分中有两种组件,一种按钮组件JButton,一种下拉列表JComboBox,并且采用流式布局的右对齐。上部采用拆分窗格将两个多行文本框放在窗格两...

2018-05-29 12:09:31 23955 1

原创 JavaGUI——swing组件基础(五)拆分窗格JSplitPane

目标图:界面分析:看到图片占据了大部分空间,立刻想到了边界布局(BorderLayout)。左右两边都可以从头到尾显示,说明是拆分窗格(JSplitPane)。基本布局想好以后,看右部,可以用标签(JLabel)来导入图片。再看左部,是个列表框(JList)和滚动窗格(JSrocllPane)。介绍一下拆分窗格:拆分窗格(JSplitPane)是容器类组件,可以把容器按指定方向(横/竖)拆分。其构...

2018-05-28 22:09:53 4776 2

原创 JavaGUI——swing组件基础(四)下拉框/列表框/滚动窗格组件

为什么要用到这三个组件?在提供用户调查几面的时候,如果选项比较多,那么就会用到:下拉框组件(JComboBox)列表框组件(JList)滚动窗格组件(JScrollPane)介绍三个组件:下拉框组件(JComboBox):点击箭头可以显示其他信息列表框组件(JList):可以跟列表一样显示信息滚动窗格组件(JScrollPane):与列表框结合使用,可以滚动显示代码实现:import java.a...

2018-05-28 13:15:07 16613 1

原创 JavaGUI——swing组件基础(三)单选框和复选框

为什么要用这两个组件?当我们提供用户注册界面的时候,常常会用到:复选框组件(JCheckBox)单选框组件(JRadioButton)介绍两个个组件:复选框组件(JCheckBox):可以多选的选择框单选框组件(JRadioButton):只能单选的选择框注意事项:同一组单选按钮必须先创建ButtonGroup,然后把单选框组件放入到ButtonGroup中,才能在面板添加单选框。代码实现:思路:...

2018-05-28 12:33:37 14198 2

原创 JavaGUI——swing组件基础(二)文本框/密码框/标签组件

为什么要用这些组件?在图形用户界面编程中,我们常常会提供用户登录界面,比如登录到会员管理系统。这时候我们就会用到:文本框(JTextField)、密码框(JPasswordField)、标签(JLable)介绍三个组件:文本框:用于输出文本,是明文。(用户名后面的输入框)密码框:用于输入密码,输入的不是明文,而是一串符号。(密码后的输入框)标   签:用于显示一串字符。(文本框和密码框前的字就是标...

2018-05-28 11:59:34 11692 3

原创 JavaGUI——swing组件基础(一)面板组件JPanel

为什么要有面板组件?在图形用户界面编程,很多时候只用三种布局管理器解决不了问题,在比较复杂的布局要求时,就需要使用布局管理器的组合使用。面板组件怎么用?JPanel:面板组件,非顶层容器,默认为流式布局。一个界面只可以有一个JFrame顶层容器,但是可以有多个JPanel面板组件,而JPanel上也可以使用FlowLayout,BorderLayout,GridLayout等各种布局管理器,这样可...

2018-05-28 11:40:15 8608 3

原创 JavaGUI——布局管理器基础(三)网格布局GridLayout

网格布局介绍:GridLayout布局将容器分割成多行多列,组件被填充到每个网格中,添加到容器中的组件首先放置在左上角的网格中,然后从左到右放置其他的组件,当占满该行的所有网格后,接着继续在下一行从左到右放置组件。代码实现:import javax.swing.*;        //导包import java.awt.*;           //导包public class Swing_G...

2018-05-27 18:49:30 5672 6

原创 JavaGUI——布局管理器基础(二)流式布局FlowLayout

流式布局介绍:FlowLayout布局,按照组件的添加次序将按钮组件(当然也可以是别的组件)从左到右放置在容器中。当到达容器的边界时,组件将放置在下一行中。FlowLayout可以以左对齐,居中对齐、以右对齐的方式排列组件。代码实现:import java.awt.*;import javax.swing.*;public class swing_3 extends JFrame{ //定...

2018-05-27 18:02:11 1783 1

原创 JavaGUI——布局管理器基础(一)边界布局BorderLayout

布局管理器介绍:概念:组件在容器(比如JFrame)中的位置和大小是由布局管理器来决定的。所以的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理。种类:Java共提供了五种布局管理器:流式布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout)、网格包布局管理器(GridBagLayou...

2018-05-27 16:41:04 1721 6

原创 List结构的集合基础(四)ArrayList和Vector的区别

区别:同步性:Vector是同步的,这个类中的方法保证了Vector中的对象是线程安全的,而ArrayList则是异步的,因此ArrayList中的对象并不是线程安全的。因为同步的要求影响执行的效率,所以如果不需要线程安全的集合,那么使用ArrayList是一个很好的选择。数据增长:从内部实现机制来讲ArrayList和Vector都是使用数组来控制集合中的对象。当你向这两种类型中增加的元素的时候...

2018-05-26 22:19:41 167 1

原创 Map结构的集合基础(三)HashMap与Hashtable的区别

区别:历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java1.2引进的Map接口的一个实现。同步性:Hashtable是同步的。保证了Hashtable中的对象是线程安全的。而HashMap则是异步的,因此HashMap中的对象是线程不安全的。因为同步的要求会影响执行的效率,所以如果你不需要线程安全的集合,那么使用HashMap是一个很好的选择,这样可以避免因...

2018-05-26 21:52:18 223 1

原创 Map结构的集合基础(二)Hashtable类

Hashtable类和HashMap的用法基本一致曾经有道面试题这样问的:HashMap和Hashtable的区别是什么?答案:HashMap是存Map的,Hashtable是存table的。哈哈哈哈,不过确实有道理。Map结构的集合基础(一)HashMap类:点击打开链接欢迎各位在评论区留言探讨~~...

2018-05-26 21:13:48 130 1

原创 Map结构的集合基础(一)HashMap类

前提:引入java.util包简介:HashMap是Map结构的集合,最主要的属性是Key-Value(键值对),这样可以很方便的进行。在HashMap中是根据Key来进行存储的,如果Key相同,前值会被覆盖。语法结构:创建HashMap集合类:HashMap<类型,类型> 集合名=new HashMap<>();集合元素的加入:集合名.put(关键字,值);集合的查改:i...

2018-05-26 21:05:50 1380 1

原创 Java——浅析Java中的迭代器

迭代器的作用:快速遍历集合中的元素。代码实现:语法结构:Iterator <类型> 迭代器名 = 集合名.iterator(); while(迭代器名.hasNext()) { 语句 }实例:import java.util.*; //导包 public class Test1 { ...

2018-05-26 16:36:39 2061 1

原创 Java——深入理解Java中的迭代器

概述:迭代器模式:就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节。Java集合框架的集合类,我们有时候称之为容器。容器的种类有很多种,比如ArrayList、LinkedList、HashSet...,每种容器都有自己的特点,ArrayList底层维护的是一个数组;LinkedList是链表结构的;HashSet依赖的是哈希表,每种容器都有自己特有的数据结构。因...

2018-05-26 16:25:24 819 1

原创 Java——Java中用foreach遍历真的不能修改数据?

问题:foreach语句到底可不可以改变所遍历容器(数组与集合)的值?我先说个答案:可以改变对象的值,但是不能删除或添加对象,也不可以改变变量(比如int a)的值,就算用集合存变量依旧不能。概述:我在书上看到的是这句话:当需要以其他顺序遍历数组或改变数组中的元素时,还是必须使用下标变量。它仅仅表示的数组中不可以改变,我测试了一下,确实如此:代码表示:import j...

2018-05-26 13:32:52 39063 22

原创 Java——浅析foreach结构

概念:Java支持一个简便的for循环,称为foreach循环,即不适用下表就可以顺序的遍历整个数组。

2018-05-25 21:55:30 2366 1

原创 Java——Java中的动态绑定

概念:方法可以在沿着继承链的多个类中实现,子类可以重写父类的方法。JVM决定运行时调用哪个方法。这就是动态绑定。原理:假设,对象o是类C1的实例,其中C1是C2的子类,C2是C3的子类,那么o也是C2,C3的实例。如果对象o调用一个方法p,JVM会依次在类C1,C2,C3中查找方法p的实现,直到找到为止。代码解释:public class Test1 { public static void m...

2018-05-25 13:15:39 9234 4

原创 List结构的集合基础(三)Vector类

前提:引入java.util包语法结构:相比较ArrayList集合类,Vector更加安全,在它基础上新增了头和尾的操作,比如从开头增加,从开头删除等等创建VectorList类:...

2018-05-25 12:23:06 755

原创 List结构的集合基础(二)LinkedList类

前提:引入java.util包语法结构:相比叫ArrayList集合类,LinkedList更加灵活,在它基础上新增了头和尾的操作,比如从开头增加,从开头删除等等创建LinkedList类:LinkedList <类型> 集合名=new LinkedList <>();集合元素的加入(常用):集合名.add(对象名);    //顺序添加集合名.addFirst(对象名)...

2018-05-25 10:40:34 297

原创 List结构的集合基础(一)ArrayList类

前提:引入java.util包语法结构:创建ArrayList集合类:ArrayList <泛型> 集合名=new ArrayList <>();    集合元素的加入:集合名.add(对象名)集合的遍历(举例):for(int i=0;i<list.size();i++){ Clerk temp=(Clerk)list.get(i);    //用一个暂时变量...

2018-05-24 23:14:31 3980

原创 Java——泛型

为什么用泛型?在定义类时,不知道类是什么类型,而我们又不能定义多个类型,所以用一个模糊的类型——泛型来修饰类。给了代码更高的使用率,不会因为不同类型(ClassCaseException)而导致代码复用率低。代码理解:理解下述代码为何出错import java.util.*;//泛型需要引入uitl包public class Test1 { public sta...

2018-05-24 19:30:37 569

原创 Java——自定义异常类

为什么要自定义异常类?当我们在输入成绩,输入工资,取款的时候,往往都有一个范围,而这个范围不是JVM能够识别的,因此在输入的时候就容易出错,因此在这些时候JDK中的异常无法满足我们的需求,我们只能自己定义异常类。如何自定义异常类?可以通过继承Exception来派生自己的子异常类。而Exception中常用的构造方法:+Exception(),+Exception(message:String),...

2018-05-23 19:32:57 8605 3

原创 Java——异常处理

我们平时所处理的异常都是Exception异常。为什么使用异常?在程序调用方法的时候,可能会出错,比如数组下标越界,空指针,数值转换异常等等,又比如取款必须小于余额,而我们在输入的时候可能会出错,由此导致异常。处理异常:抛出异常-捕获异常-处理异常处理异常基本写法:try { 语句组}catch(Exception ex){ 异常处理语句组}代码实现:public class Tes...

2018-05-23 18:47:09 272

原创 Java——匿名内部类

概念:匿名内部类是一个没有名字的内部类。它将内部类的定义和创建一个内部类的实例合二为一,一步实现。代码讲解:感受一下内部类的好处吧:正常写:public void start(Stage primaryStage)//启动方法{ btEnlarge.setOnAction(new EnlargeHandler());//想创建一个EnlargeHandler的实例就要创建一个类...

2018-05-23 16:32:11 412

原创 Java——为什么要有接口?

为什么要有接口?一个类只能继承一个父类,但是可以继承N个接口。接口的目的是指明相关或者不相关类的多个对象的共同行为,跟抽象类很相似,可以说接口是更加抽象的抽象类。接口体现了程序设计的多态和高内聚低耦合的设计思想。接口定义:public interface 接口名 { /* 常量声明 */ /* 方法签名 */}使用接口:public interface U...

2018-05-23 15:26:41 12534 1

原创 Java——为什么要有抽象类的概念?

首先你要看到普通类的缺点:假设我有一个父类:class Animal//创建一个动物类{ String name; int age; public void cry()//动物会叫 { System.out.println("不知道怎么叫!");//可是我们不知道它怎么叫 }}假如我下面有一个猫类和狗类继承了这个动物类:class Dog ...

2018-05-23 14:18:04 8135 5

原创 HTML基础标签(一)

什么是HTML?HTML是超文本标记语言,标记语言:使用一组标签对内容进行描述的语言,不是编程语言HTML主要部分:头部分:<head></head>体部分:   <body></body>html都是由开始标签和结束标签组成(<hr  />)HTML的标签:标题标签:从<h1>到<h6>逐渐变小<h

2018-05-22 22:51:09 178

原创 怎样使用Runnable和Thread实现多线程?

什么是线程?可以这样理解:线程就像是赛道,每个赛道互不影响。但是我们一般的程序中都是顺序进行的,也就是一个赛道的跑完后才进行下个赛道。而多线程弥补了这一缺点,让多个赛道能够同时运作,因此大大加快了运行速度。比如我们的售票窗口,地铁的闸门,或者游戏里的飞机坦克他们都能在同一时间独立的运作,这就是多线程。怎样完成多线程?那肯定是用到Runnable接口和Thread类了,通过实现Runnable中的r...

2018-05-22 19:40:01 2993

原创 Java——创建Java中的接口

前言:进来的伙伴们是不是发现在类中创建不了接口??哈哈,恭喜你们成功上当。在包的类文件class中是不允许创建接口的,接口需要到包中创建接口的专属文件interface创建方法:没错,跟类的创建一样,直接点击interface就可以编写自己的接口啦!...

2018-05-22 15:13:18 11063

原创 Java的垃圾回收

垃圾回收机制是Java自带的工具,就跟"清洁工"一样,不定时的在程序中"检查",发现"垃圾",就会把它"回收"。回收是由JVM(Java虚拟机)的垃圾回收线程来完成的。为什么系统知道对象是否为垃圾?当对象为空指针的时候,即没有任何一个对象会引用到它,它就是"没用的",于是垃圾回收机制就会将其回收。...

2018-05-22 12:03:36 253

原创 从对象到继承,深入理解构造方法中super与this关键字的使用

构造方法:构造方法的意义:对象都有构造方法,构造方法是由类实例化或者说创建一个对象所用的方法如果没有,编译器加一个default(默认值)构造方法包括抽象类也有构造方法,抽象类的构造方法可以被子类调用,但是自己不能创建对象如何创建构造方法:类名()            //无参构造{}类名(参数列表)    //带惨构造{    赋值语句}调用子类或父类的构造方法:this调用本类其...

2018-05-22 11:35:37 276

原创 如果一个类被abstract所修饰,说明这个类没有构造方法?

答案:错误。众所周知,被abstract修饰的类是抽象类,抽象类不能被实例化,但是可以被继承,也可以继承。那么根据代码:public class Test1{ public static void main(String[] args) { Car car=new Car(1); //异常:Cannot instantiate the type Car 不能实例化一个Car ca...

2018-05-21 23:06:50 5894

原创 作为一个类,系统都会自动产生一个不带参数的构造方法?

首先,这个问题的答案是:错误。构造方法是用来创建一个实例的,或者说是创建一个对象。如果类本身没有写构造方法,为了让类能拥有面向对象的能力,那么开发工具会默认添加一个"不可见的"构造方法,其实就是无参构造方法:class Car{ public void color() { System.out.print("I have color!"); }}public class Test1...

2018-05-21 22:41:15 5870

原创 Eclipse巧妙使用Alt+/“快速输入System.out.println()与main函数

在Eclipse开发工具中,使用"Alt+/"可以根据已输入的字符,自动在库中筛选与之匹配的内容,比如:想快速输出main主函数:我只要输入 : ma+"Alt+/" Eclipse会自动筛选库钟带有ma的内容就可以弹出:或者说System.out.println(""):我只要输入:syso+"Alt+/" (注意,System.out.println("");必须在方法内才能快速输入,不在...

2018-05-21 21:07:13 3350 1

workermanager.7z

控制台版的java员工信息管理系统,使用了各种javaSE的基础知识,例如类、接口的编写与实现、类的继承、方法的重写与重载

2020-06-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除