j2se 知识总结

高效复用PCB设计:Cadence Sub-Drawing跨项目复制技巧 本文详细介绍了Cadence Allegro中Sub-Drawing功能的应用技巧,帮助PCB工程师高效复用成熟设计模块。通过分步教学,从精准导出到完美导入,并提供了解决坐标错位与DRC冲突的实用避坑指南。掌握这一技巧能显著提升设计效率,实现团队知识的标准化积累与快速复用。 阅读详情

1。数组
对于数组的封装类Arrays类,中的binarySearch(T[] test,a)方法,对于数组test应当先调用sort()方法,才能调用


2。集合

对于增强型for循环,
for(T xx : 变量(数组,List,Set)) {
}

对于集合中掌握的基本类和接口:

Collection
 -Set
  -TreeSet
  -HashSet
   -LinkedHashSet
 -List
  -ArrayList
  -LinkedList
Map
 -TreeMap
 -HashMap
  -LinkedHashMap
Iterator

Arrays 

Collections

Property

其中ListList和ArrayList替代了Vector
HashMap替代了HashTable
LinkedList替代了Stack

Comparable 接口比较接口
当重写equals方法的时候一定要重写hashcode方法


io

InputStream 和 OutputStream都是字节流
Reader和Writer是字符流

写数据的时候记得一定要加上flush()方法

输入流:

输入流     描述
ByteArrayInputStream   把字节数组转换为输入流
FileInputStream    从文件中读取数据
StringBufferInputStream   把字符串转换成输入流,已过时,取代:StringBufferReader
PipedInputStream   连接一个PipedOutStream  用于线程
SequenceInputStream   把几个输入流转换成一个输入流
ObjectInputStream   对象输入流(对象序列化,反序列化)
FilterInputStream   装饰器,具有扩展其他输入流的功能

输出流:

输出流     描述
ByteArrayOutputStream   向字节数组(即内存的缓冲区)中写数据
FileOutputStream   向文件中写数据
PipedOutputStream   向管道中输出数据,与PipedInputStream搭配使用
ObjectOutputStream   对象输出流,对象的序列化和反序列化
FilterOutputStream   装饰器,扩展其他输出流的动能

File类
掌握File类的api方法的操作

GUI
1. 布局管理器
 如果不希望通过布局管理器来管理布局,可以调用容器的setLayout(null)方法,这样布局管理器就被取
 消了。
 接下来必须调用容器中的每个组件的setLocation(),setSize()或者setBouds()方法为这些组件在容器中  一一定位。
布局管理器种类:
 FlowLayout 流布局
 BorderLayout 东南西北中布局
 GridLayout 网格布局
 CardLayout 卡片布局
 GridBagLayout 网格包布局管理器
 GridBagLayout在网格的基础上提供更为复杂的布局。和GridLayout不同,GridBagLayout允许容器中各个组件的大小各不相同,还允许单个组件所在的显示区域占据多个网格。使用GridBagLayout的布局管理器的步骤如下。
 1。创建GridBagLayout布局管理器,并使容器采用该布局管理器
  GridBagLayout layout = new GridBagLay();
  container.setLayout(layout);
 2。创建GridBagConstraints对象。
  GridBagConstraints constraints = new GridBagConstraints();
 3。为第一个添加到容器中的组件设置GridBagConstraints的各个属性。
  constraints.gridx=1; //设置网格的左上角的x坐标
  constraints.gridy=1; //设置网格的左上角的y坐标
  constraints.gridwidth=1; //设置网格的宽度
  constraints.gridheight=1; //设置网格的高度
 4。通知布局管理器放置第一个组件时的GridBagConstraints信息
  layout.setConstraints(component1,constraints);
 5。向容器中添加第一个组件。
  container.add(component1);
 6。重复步骤(3)~(5),将每个组件都添加到容器中

事件处理器
MouseMotionListener 和 MouseListener都监听MouseEvent事件。
MouseMotionListener主要处理和鼠标移动的事件,它包括以下方法。
 * mouseMoved():用户未按下鼠标键,直接移动鼠标调用的方法。
 * mouseDragged():用户按下鼠标键,然后拖动鼠标时调用此方法。
MouseListener主要处理和鼠标被点击有关的事件,它包括以下方法。
 * mouseClicked():当用户单击鼠标时调用此方法
 * mousePressed():当用户按下鼠标时调用此方法
 * mouseReleased(): 当用户释放鼠标时调用此方法
 * mouseExited():鼠标退出组件的显示区域时调用此方法
 * mouseEntered():鼠标进入组件的显示区域时调用此方法。

Awt绘图:
 在Component类中提供了3个和绘图有关的方法。
 *paint(Graphics g):绘制组件的外观
 *update(Graphics g): 调用paint()方法,刷新组件的外观。
 *repaint():调用update方法刷新组件的外观
 以上3个方法的调用关系:repaint()调用update(),update()调用paint()   这个是对于java.awt.Frame类而言,但是对于javax.swing.JFrame类而言,则是,repaint直接调用paint()
Point类
Graphics类
 Component类的paint(Graphics g)方法有一个Graphics类型的参数。Graphics类代笔画笔,提供了回执各种图形的方法,常见的方法有:
 * drawLine(int x1,int y1,int x2, int y2) 画一条直线
 * drawString(String string, int left, int bottom) 画一个字符串,从(left,bottom)坐标开始
 * drawImage(Image image,int left, int top, ImageObserver observer) 画一个图片
 * drawRect(int left, int top, int width,int height) 画矩形
 * drawOval(int x, int y, int width, int height) 画椭圆
可以为Graphics对象设置绘图颜色和字体属性,方法为:
 setColor(Color color) 设置画笔的颜色
 setFont(Font font) 设置画笔的字体
如果不希望在每次调用paint()方法前先清空界面,可以在类中如下方式覆盖update()方法
public void update(Graphics g) {
 paint(g);
}

//对于JFrame而言是repaint直接调用paint方法,而对于Frame而言是repaint调用update方法,update方法调用paint方法
实现擦除的效果思路:每次画之前先将整个画面以背景色为颜色重画一次
Color c = g.getColor();
g.setColor(BACKGROUND_COLOR);
g.fillRect(0, 0, WIDTH, HEIGHT); //这个则是起到擦除的效果
g.setColor(c);
g.setColor(color);
g.fillRect(x, y, width, height);

Swing组件
按钮:javax.swing.JButton  setMnemonic(int i) //设置快捷键
边框:javax.swing.border.Border

菜单
菜单的组织方式为:一个菜单条JMenuBar中可以包含多个菜单JMenu,一个菜单JMenu中可以包含多个菜单选项JMenuItem。有一些支持菜单的组件,如JFrame,JDialog和Japplet,都有一个setMenuBar(JMenuBar bar)方法,可以用这个方法来设置菜单条
JMenuItem有两个子类,即JRadioButtonMenuItem和JCheckBoxMenuItem,他们分别表示单选菜单项和复选菜单项,当用户选择了某个菜单项,就会触发一个ActionEvent事件,该事件由ActionListener负责处理

JPopueMenu:
 右键的时候出现的选项卡:要实现MouseAdapter类的mousePressed和mouseReleased方法
JDialog:对话框
 JDialog表示对话框。对话框时在现有窗口的基础上弹出的另一个窗口。对话框可用来处理个别细节问题,使得这些细节不与原先窗口的内容混为一起。JDialog的默认布局管理器为BorderLayout,它有以下形式的构造方法。
 public JDialog(Frame ower,String title,boolean modal)
以上参数ower表示对话框所属的Frame,参数title表示对话框的标题,参数modal有以下两个可选值。
 * 参数modal为true:表示模式对话框,这是JDialog的默认值。如果对话框显示,那么其他窗口都处理不活动状态,只有当用户关闭了对话框,才能操纵其他窗口。
 * 参数modal为false:表示非模式对话框。当对话框被显示,其他窗口照样处于活动状态。
当对话框被关闭时,通常不希望结束整个应用程序,因此需要调用JDialog的dispose()方法释放对话框所占用的资源。

JFileChoose:文件对话框   文件打开,文件另存为

JOptionPane:消息框
 * showMessageDialog():显示包含信息提示的对话框
 * showOptionDialog():显示让用户选择一个可选项的对话框
 * showInputDialog(): 显示接收用户输入文本的对话框
 * showConfirmDialog():显示让用户选择Yes/No的对话框

Swing绘图
 
   Swing组件的绘图机制与AWT组件比较相似。区别在与前者的JComponent类覆盖了ComPonent类的paint方法。JComponent类的paint()方法把绘图任务委派给3个protected类型的方法来完成。
  * paintComponent(): 画当前组件
  * paintBorder():画组件的边界
  * paintChildren():
对于用户自定义的Swing组件,如果需要绘制图形,则只需要覆盖paintComponent()方法即可,为了保证图形正常
显示,必须在这个方法中先调用super.paintComponent()方法

JApplet对于这个只要覆盖init方法就可以了
BoxLayout布局管理器

工厂自动化布线实战:从功率计算到线槽布局的完整避坑指南 本文详细介绍了工厂自动化布线的实战经验,从功率计算到线槽布局的完整避坑指南。通过三步计算法确定线径需求,强调电压降控制的重要性,并分享线槽布局的50%法则和强弱电分离技巧。特别针对移动设备和多芯信号线提供专业解决方案,帮助工程师避免常见错误,提升布线效率和质量。 阅读详情

相关推荐

手把手教你用三菱PLC控制JET伺服原点:从硬件接线到GXWORKS3程序调试

本文详细介绍了如何使用三菱PLC控制JET伺服系统实现原点回归功能,涵盖硬件接线、参数配置到GX Works3程序调试的全流程。通过实战指南,帮助工程师快速掌握伺服控制技术,提升工业自动化项目的实施效率。

weixin_30642561的博客 535

使用setBounds()函数设置Java布局

Java的swing布局设置 萌新的第一篇文章请多关照~ 这里的布局说的是Layout布局,对于JFrame默认Boder布局,其他组件默认Flow布局,但是当你真正进行设计的时候,总会有偏差,这里介绍一个方法。 当某一个类继承JFrame类是可以使用: this.setLayout(null); 然后可以通过setBounds(); 对组件进行自定义大小和位置设置。 setBounds()有四...

everything002的博客 5万+

Ubuntu离线情况下安装gcc编译器

Ubuntu离线情况下安装gcc编译器1.系统版本2.安装说明3.异常处理 1.系统版本 (1)Ubuntu系统版本:20.04.1LTS; (2)gcc编译器版本:gcc-9.3.0(下载链接为https://download.youkuaiyun.com/download/qq_18350351/13762214); 当前可找到的gcc最新版本为gcc-10,但是笔者在安装gcc-10版本时发现一些依赖项无法安装,因此选取了gcc-9版本。如果是在联网情况下安装,直接使用apt相关的安装指令即可。 2.安装说明 安

GreenHand的博客 3933

java中setSize(),setLocation()和setBounds()的关系

之前也一直没有太在意这三个函数之间的关系,今天遇到了,就特地查了下: setSize(int width, int height):其实就是定义控件的大小,有两个参数,分别对应宽度和高度; setLocation(int x, int y):将组件移到新位置,用x 和 y 参数来指定新位置的左上角 setBounds(int x, int y, int width, int he

u011235543的博客 4万+

共聚焦显微镜的光源、工作原理与选型

共聚焦显微镜作为科研与工业领域中重要的微观成像工具,凭借光源的精准适配性、光学切片技术的三维成像能力,以及对不同工业场景的定制化适配潜力,为半导体检测、工业部件分析、智能制造升级提供了关键技术支撑。深入理解其光源特性、工作原理与选型逻辑,能帮助工程师与技术人员精准匹配设备与生产需求,既保障微观检测的精度与效率,又为产业优化、技术创新筑牢微观观测的基础。

PhotonixBay的博客 1537

Python自动化:3分钟搞定微信收藏链接批量导出到TXT(附完整代码)

本文介绍如何使用Python自动化工具在3分钟内将微信收藏链接批量导出到TXT文件。通过模拟人类操作和OCR技术,脚本高效处理大量链接,显著提升工作效率,并附有完整代码和实战避坑指南。

weixin_29062671的博客 630

Android中Bitmap和Drawable

引用:http://dyh7077063.iteye.com/blog/970672 一、相关概念 1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象 2、Canvas画布,绘图的目的区域,用于绘图 3、Bitmap...

weixin_34310369的博客 603

新能源汽车电池及充电原理详解

本文详细介绍了新能源汽车的电池包结构、铅酸电池充放电原理,以及交流和直流充电的工作原理和优缺点。内容涵盖电池串联并联原因、充电设备如车载充电机、交流充电桩和直流充电桩的介绍,以及不同充电模式的连接方式。通过对充电过程的深入探讨,有助于读者理解新能源汽车的充电技术。

让你爱上电路设计 4525

使用setBounds()方法需要注意的地方

第一点,使用这个方法,component的x,y坐标是相对于它的父容器的。如果不注意,x、y的值,比父容器的宽度和高度还大的话,就容易造成加进去组件但是显示不出来的问题。我就是遇到这么一个问题,现在才想明白。 第二点,这个方法只有在父容器的布局方式为绝对布局时才管用,如果是别的布局方式,调用这个方法是没有效果的,只有采用setPreferredSize这个方法才管用。不同的布局方式有不同的设置方

Mr_Pang的专栏 1万+

AutoSAR配置与实践(基础篇)3.2 BSW中的I/O架构和模块详解

车门位置传感器(Sensor SWC)输出的电流信号经过了一系列处理,如先被转化为电压信号,后又经ADC转换为数字信号,但是IoHwAb模块对上层隐藏了这一系列处理过程,并将数据直接抽象为它的输出接口,即车门开关状态接口。Sensor SWC 使用RTE接口直接从IoHwAb模块封装的车门开关状态,SWC它并不关心ECU硬件是如何实现的传感器电流采集,也不关心MCU ADC采样精度(如10/12位)IoHwAb把采集的电压抽象为开关状态,使得Sensor SWC不依赖具体的ECU硬件。

nihaoljq2010的博客 1300

【考试大纲】中级多媒体应用设计师考试大纲

中级多媒体应用设计师考试大纲

邓邓子的博客 382

Drawable的setBounds方法

Drawable的setBounds方法有四个参数,setBounds(int left, int top, int right, int bottom),这个四参数指的是drawable将在被绘制在canvas的哪个矩形区域内。例如@Override protected void onDraw(Canvas canvas) { drawable.setBounds(100,

szyangzhen的专栏 4万+

Xilinx FPGA ICAP原语实现多重配置

众所周知,常见的FPGA通常为SRAM结构,固件程序一般存放在外置的串行Flash中,比如SPI Flash,M25P16或N25Q128等。 FPGA启动时,一般先从SPI起始地址开始加载数据到内部的SRAM,加载完成、校验通过则会直接运行。 那么有没有可能在SPI Flash中存放两个或多个FPGA固件呢?

whik1194的博客 4612

J2SE知识大汇总

现阶段正在准备软考,需要学习Java版的设计模式,于是学习J2SE成为了最先的准备,了解Java基本语法,为更好的学习设计模式打基础。        Java2平台包括:标准版(J2SE(Standard Edition))、企业版(J2EE(Enterprise Edition))和微缩版(J2ME(MicroEdition))三个版本 。分别应用于基础知识的学习(Jav语言核心

学会改变自己——才能突破 6717

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

J2SE知识点

一.J2SE定义: Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2SE,J2ME和J2EE,这也就是SunONE(Open NetEnvironment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 二.java是一种解释型语言 1.JAVA两种核心机制:Java虚拟机(一个以字节码为机器指

万事胜意 888

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

学好J2SE的某些必备知识,你准备好了吗?

为正在学习J2SE开发的朋友们转发一文,此文的来源忘记了,关于学好J2SE的某些必备知识      时常看到一些人说掌握了Java,但是让他们用Java做一个实际的项目可能又困难重重,在这里,笔者根据自己的一点理解斗胆提出自己的一些对掌握Java这个说法的标准,当然对于新手,也可以提供一个需要学习哪些内容的参考。另外这个标准仅限于J2SE部分,J2EE部分的内容有时间再另说。  1、语法:必须

297

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

J2SE基础知识小结

  花了大概三个小时总结了一下J2SE中的基础知识,也是为以后Java 高级编程以及Web部分做一个复习。  首先,一个Java源文件中只可以有一个 public 类,但是一个 .java 源文件中可以有多个非 public 类。用 import 导入包的时候要注意名字冲突。比如说 java.util 包中有个 List, 但是 java.awt 包中也有个 List,如果只是同是引入 jav

◆蛋壳¨ю 494

J2SE知识总结

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34235457的博客 215

J2SE必须掌握的基础知识

1.    面向过程和面向对象 面向过程 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 缺点:没有面向对象易维护、易复用、易扩展   面向对象 优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护

luotuomianyang的博客 1060

J2SE知识点总结 1

java字符集 1、java的字符集(Unicode:65535个):英文字母,数字,下划线,中文组成的字符序列 2、java名称(变量名,方法名,属性名,类名等)都是根据字符集来描绘 1.名称第一个字符不能以数字开头 2.名称最好取名要有意义:见名知意 3.名称不能使用java关键字 java数据类型: 1、8种基本数据类型: 1.整数类型: byte:占1个字

清风明月独相伴 362

j2se笔记-面试知识点

其他比较好的面试资料:125条常见的java面试笔试题大汇总:   http://www.bitscn.com/java/base/200709/110116.html你能过关吗?J2EE面试题集锦(附答案): http://www.hackhome.com/InfoView/Article_118910.html ☆☆☆☆☆☆☆☆☆☆☆ 数据类型 表达式 循环 数组 ☆☆☆☆☆☆☆☆

wzwjr的专栏 2591

J2SE基础知识

java基础知识

陈三的博客 948

实践项目-完整的J2SE项目

学习了那么多知识,接下来就需要一个实践项目来把这些知识点都融会贯通。

Lan_ht的博客 88

认识J2SE,并复习一下前面学过的面向对象的相关知识

J2SE的定义和架构 J2SE,全称为Java 2 Standard Edition。Java 2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2SE即Java 2的标准版,主要用于桌面应用软件的开发。       类和对象的概念 类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。对象是具有类类型的变量。 类是对象的抽象...

Jaycci的博客 320

J2SE小知识

1. byte,short,char之间不能相互转换,他们之间在计算时,会自动转换成int型。  2. 容量小的类型会自动向容量大的类型转换,容量大的类型必须强制转换成容量小的类型。  3. 有多种类型进行相互运算时,会将所有类型转换成容量最大的那种类型,然后再进行运算。  4. str.getBytes("GBK");方法返回值是 GBK格式的byte[ ]数组。      new

231

J2se小项目:坦克大战

项目时间:2008.6.26--7.1项目目标:巩固J2SE知识 

leyao的专栏 439
上一篇: GUI 布局 GridBagLayout
下一篇: oracle 存储过程的基本语法 及注意事项
wlxtaking
博客等级 码龄17年 51粉丝 67原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值