java
alone52Hz
这个作者很懒,什么都没留下…
展开
-
java服务器线程
服务器线程用于支配服务器代理线程import java.util.*;import java.io.*;import java.net.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public serverThread extends Thread原创 2017-02-07 22:08:00 · 314 阅读 · 0 评论 -
流
文件流: file字符(reader\writer)、file字节类(inputstream/outputstream) 缓冲流: 缓冲输入字节流a=bufferinputstream(fileinputstream)、 hc=new byte[1024]:缓冲区大小 int ff; ff=a.read(hc); 输出b=bufferoutputstream(fileoutputstr原创 2017-02-21 21:24:51 · 284 阅读 · 0 评论 -
print流
a=DateOutputStream(new fileOutput(path)).writelong(1234567) :数据流写入二进制给计算机识别的方式写进a中 b=PrintStream(path).println(1234567):人们习惯的看得的字符形式写入b中 PrintStream p1=new PrintStream(path); 写入:p1.printIn(“反抗螺丝钉jfk原创 2017-02-21 22:06:02 · 346 阅读 · 0 评论 -
绘图
1.界面 2.自己制作面板内容,所以可以通过继承JPanel,重写paint方法(Graphics g): 绘制图形及填充 g.drawOval(x,y,xa,yb) g.drawLine(x1,y1,x2,y2) g.drawRect(x,y,long,width) g.draw3DRect(x,y,long,width,true/false(凸凹))每个图形都可以设置3d效果 g.原创 2017-02-22 22:38:26 · 307 阅读 · 0 评论 -
java包1
开发顺序:界面,业务逻辑,完善功能 1.图形化界面包 界面包:java.awt.* 界面事件包:java.awt.event.* 界面包:javax.swing.*:界面布置 界面事件包:javax.swing.event.*:具体界面控件功能 2. 工具包:java.util.* 集合类Vector 3. 网络包:java.net.* 4. 数据流:java.io.* 5.原创 2017-02-01 21:18:47 · 224 阅读 · 0 评论 -
java2
JFrame:面板类 JLabel 文本框标签 JTextField 文本框 JButton 按钮 JList 列表 JPanel 面板 JScollPane 回滚条 JSplitPane 分割界面 ServerSocket 套接字接口 Vector 集合(安全)原创 2017-02-02 22:02:20 · 152 阅读 · 0 评论 -
聊天窗口设计
一、窗口建立:1.主类:继承容器类和监听器类 2.声明组件数组和面板数组:只声明不初始化 3.main方法:实例化本类:new 构造器 4.构造器:初始化或实例化组件和面板(大小,名称),窗口布局选择(默认边界布局),面板布局选择(默认流式布局),组件添加进面板(位置),面板和组件添加进窗口(位置),窗口设置:窗口最大化否,关闭内存释放否,窗口显示否 总之:添加时,组件先进面板,然后组件和面原创 2017-02-12 16:22:52 · 1144 阅读 · 0 评论 -
线程
创建多线程 方式一:创建:继承Thread类,重写run()方法;开启:new实例(new多少个就有多少个进程),调用start()方法(开启线程) 第一步:创建线程 创建线程(子线程)代码类A: 创建一个类A继承Thread类,重写Thread的run()方法:把要执行的代码写进去,就创建了线程的代码(for 循环打印是个hello) 第二步:开启线程 在另一个类B的主方法(主线程)实原创 2017-02-14 21:45:45 · 265 阅读 · 0 评论 -
线程1
线程控制 线程的让步和阻塞: 让步:Thread.yield(),在创建线程时设置(条件) 阻塞: ThreadA.join(),在开启线程后设置,此时会把当前线程(主线程)停止,让调用join方法的线程执行完成后,在执行其它线程和主线程。原创 2017-02-15 22:11:09 · 347 阅读 · 0 评论 -
事件监听
java.awt.event.* javax.swing.event.*事件监听类:ActionListererqq聊天 1、继承JFrame、继承ActionListerer(实现actionPerformed(ActionEvent e) 方法) 2、组件,面板(绘图图形),面板,布局等 3、监听:组件1.addActionListerer(this):this监听原创 2017-02-23 21:57:31 · 344 阅读 · 0 评论 -
记事本窗口(界面)
java.awt.* :界面设计但不涉及菜单 javax.swing.*:界面设计但不涉及菜单java.awt.event.*:主要是:菜单的设计记事本有单独的面板,菜单条,不参与布局,但窗口有布局,但记事本的面板不会被布局影响1.容器 JFrame 2.记事本面板(菜单条) JMenuBar 3.菜单按钮 JMenu:有下一级菜单(可以添加本身类型的构造二级菜单) JMenuItem原创 2017-02-12 20:19:39 · 3112 阅读 · 0 评论 -
布局管理器之BorderLayout:边界布局管理器
1:主类继承容器类JFrame类:窗口 2:主函数之前定义所有的(这里按钮)组件类JButton (按钮) JButton anniu1,anniu2,anniu3,anniu4,anniu5 3:主函数 4:构造器(组件设置名字东西南北中(大小可以设置?),添加组件顺序也必须是东西南北中一一对应) anniu1=new anniu1(“东”) anniu2 =new anniu2(“原创 2017-02-11 22:06:07 · 938 阅读 · 0 评论 -
JFrame容器
图形化用户界面包 java.awt javax.swingJFrame 类窗体:窗口(默认不显示,方法setViserble(true/false),显示或则不显示) 注意:可以设置窗口本身位置,大小(像素),颜色,标题,JFrame.setTitle(String name):窗口标题 JFrame.setSize(int x,int y):大小(像素) JFrame.setLocati原创 2017-02-11 21:19:17 · 1008 阅读 · 1 评论 -
java服务器代理线程
服务器线程在接受到客户端输入后分配服务器代理线程import java.util.*;import java.io.*;import java.net.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class serverAgentTh原创 2017-02-07 22:42:03 · 674 阅读 · 0 评论 -
买票(1)
有100张票,各个车站都在卖,那么设计了多线程和线程安全的问题 方式一用线程同步锁synchronized synchronized 声明在函数前或者声明在代码块之前(即:{}之前)class MaiPiao implements Runnabel{ public static int chepiao=100;--static 静态,作用是当同一个类被new多次时共享该变量 S原创 2017-02-16 22:34:09 · 373 阅读 · 0 评论 -
生产消费问题
仓库类:包含生产和消费两个方法,并且生产和消费要保证线程同步,还要保证库存空和满,库存空时需要消费先暂停(就绪)等待生产(唤醒)后在消费(在唤醒),库存满时生产先暂停(就绪)等待消费(唤醒)后在生产(唤醒),当库存不满但不空时可以边生产边消费(不需要暂停任何一个) 生产类:传入仓库类,创建生产线程(Runnable)/当然也可以Thread方式 消费类:传入仓库类,创建消费线程(Runnable原创 2017-02-19 21:12:28 · 218 阅读 · 0 评论 -
IO流
IO流:连接程序和设备(硬盘)的管道,用于数据的传输,管道上有很多按钮,可以实现不同的功能 流分类: 四大基本抽象流(特殊的抽象的类):输入流、输出流、字符流()、字节流 重点使用:文件流、缓冲流、转换流、数据流、Print流、Object流流包:java.io.* 以程序员的角度来看输入输出 read input 输入流 write output 输出流 read vs write原创 2017-02-19 21:44:07 · 207 阅读 · 0 评论 -
List和Map的区别
常用: ArrayList,LinkedList,Vector,Stack,HashMap,Hashtable 用法特征list和map的区别:有键值和没有键值 ArrayList和HashMap:线程不同步,效率高安全性低(本地和没有利益的网络) Vector和Hashtable :线程同步,效率低安全性强(使用于网络,特别是设计财产利益)原创 2017-02-11 19:04:57 · 1795 阅读 · 0 评论 -
泛型作用
泛型: 1、在集合中限定了泛型,添加的对象就只能存储指定的泛型的类对象,读取集合元素不用强转,并且避免了强转时的类型错误不被编译器捕获的问题 2、在类中指定参数的类型(相当于定义的类的初始变量类型),注意在类里的新建变量类型和泛型一致,相当于是构造器的参数类型 3、在方法中使用泛型(方法传递的参数用制定类型(泛型))集合中使用泛型ArrayList<String> a=new ArrayLi原创 2017-02-11 19:52:44 · 370 阅读 · 0 评论 -
反射类
某个类型的实例对象l 通过反射获取这个对象的所有方法名,方法返回值类型,构造器,构造器参数名,参数(变量)类型,参数(变量)权限,方法权限原创 2017-02-11 20:07:59 · 172 阅读 · 0 评论 -
图像化用户界面介绍
一、布局 1.组件(单个存在相当于按钮)(菜单,标签,文本框(密码框),滚动条,单选,复选,按钮等),和用户交互的对象 2.容器(组件不能独立的显示出来),只能将组件放在容器里才能正常的显示(屋子和家具的关系哦), 3.(布局)将组件合理有序的排列和分布在容器中,包括组件的位置,大小称为布局(Layout) 4.每个容器都有自己的布局管理器,容器内的某个组件需要改变属性时,就需要调用起组件所原创 2017-02-11 20:45:22 · 356 阅读 · 0 评论 -
字节流
1.文件流 文本类(两个字节为单位传输(一个字符)所以会快,但是对于其他非文本文件在编码时会产生乱码) fz=new FielReader():复制(读入内存) zt=new FielWriter():粘贴(写入硬盘) int ff=fz.read() while(ff!=-1) { nr=char(ff); zt.write(nr); ff=fz.原创 2017-02-20 21:40:50 · 304 阅读 · 0 评论 -
键盘监听
组件事件监听:主类继承ActionListener并实现actionPerformed(ActionEvent e) 方法(e.getActionCommand().equals()……,),当然可以单独写一个自定义监听类(如面板类)继承ActionListener并实现actionPerformed(ActionEvent e)方法 组件(如按钮an1):an1.addActionListene原创 2017-02-25 11:17:12 · 1096 阅读 · 0 评论