0%

JComboBox

(下拉菜单)

addItem(),getSelectedItem(),setEditable()

ComboBoxEditor接口,ListCellRenderer渲染

Icon接口,由ImageIcon实现

Jcomponent,提示信息,setBorder设置边框

JList

DefaultListModel,ListSelectedionListener

JTextField:JPasswordField,JFormattedTextField
Document接口
JOptionPane,Message boxes对话框

showConfirmDialogue,showOptionDialogue,showInputDialogue

JDialog
JSlider,JProgressBar
JMenubar+JMenu+JMenuItem

setMenuBar

绘图

JComponent–Graphics
改写paintComponent

  • 低级事件(component,container,window,fous,key,mousewheel…)
  • 语义事件(action.itemevent,adjustment,textevent…)

    ActionEvent

    KeyEvent

  • 引发原因:敲完、按下、释放
  • KeyListener:KeyPressed,KeyReleased
  • 方法:getKeyChar()
  • 事件适配器(有一个以上的方法)KeyAdapter

    MouseEvent

  • 引发原因:移动拖动,点击
  • 两个接口:MouseListener,MouseMotionListene r=> MouseInputListener
  • 方法:getClickCount,getPoint(getX/getY),getModifiers(左右键)

    applet下载

    执行框架:init,start,stop,destroy

……

计算器:pannel做分割,一部分为grid

Swing

常用控件:

- Buttons
  1. AbstractButton为父类:
  • JButton
  • JToggleButton
  • JCheckBox
  • RadioButton
  • JMenuItem

==ButtonGroup中只有一个按钮可以被选中==

JPanel.setBorder(new TitleBorder(String))
JTextArea(m,n) t —- m行n列文本区
add(new JScrollPane(t))

itemListener.itemStageChange()(监听程序)

JCheckBox.addItemListener
2.

throw~throws
子类的构造方法可以跑出更多的exception
重写父类其他方法exception不能比父类多
try-catch先具体后一般

AWT——Swing区别:

名称改变:Button-JButton
Frame-JFrame
…….
Swing:

  • 新添JSplitPane、JTree、
  • 提供更多功能(组件形状任意、边框任意、显示多样)
  • 无native代码(light weight,无本地代码)
  • 可设置外观(look&feel)
  • MVC设计模式(model保存数据据

==light weight与heavy weight勿混用==

布局管理器
  • BorderLayout—add(acomponent,BorderLayout.North/South/East/West/Center)控件相对位置不变
  • FlowLayout(int align,int hgap,int vgap)参数可缺省,控件大小不变
  • GridLayout 控件大小相同,相同位置不变,行数不为零时,列数被忽略
  • GridBagLayout
  • BoxLayout
Box容器

……

直接管理组件

setLayout(null)关闭布局管理器

  1. getInsets()边界空隙
  2. JButton.getPreferedSize()
  3. JButton.setBounds(x,x,x,x)
  4. 主方法创建JFrame

事件及处理机制

KeyEvent\MouseEvent\ActionEvent……

对应listener监听者接口

JButton.addActionListener(ActionEvent)

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

创建内部类,需要用到外部类的引用
若为static inner class,则不能访问外部类非静态成员,
在创建时不再需要外部类引用
用外部类继承内部类时,构造函数需要特殊参数x,
x.super()调用内部内的构造方法,并非调用x的构造函数,
而是将外部类的对象x作为参数

Object的equals(),用==比较整个封装类(指针指向的位置)
Integer.equals()被改写,比较value的值,(先判断instanceof)

native——调用本地底层操作
“+”调用toString()
clone按位浅层复制,snake为例,深层克隆需进行修改

string 为不可变类对象,返回时创建了新的字符串
stringBuilder与stringBuffer为可变字符串

###git

git push -u origin master`

报错:

failed to push some refs to git

原因:

可能的原因是github中的README.md文件不在本地代码目录中

#####解决方法:

可以通过如下命令进行代码合并【注:pull=fetch+merge】

git pull --rebase origin master

执行上面代码后可以看到本地代码库中多了README.md文件

此时再执行语句 git push -u origin master

即可完成代码上传到github

![捕获](E:\桌面\捕获.PNG

eg

将构造函数设为private,通过内部函数调用=>可控制对象创建个数
一个对象只有一种形式(构造方法确定)
一个对象的引用是多态的
upcasting:可直接赋值,子类->父类
downcast:首先检查是否合法(强制转换)
解决:先进行instanceof判断,再分情况强转

interface(特殊的抽象类):完全没有实现~abstract:部分未实现
Java8之后可有实现的方法,加default
不同的类可以实现同一个接口,同一个类可以实现多个接口(implements)
接口可多重继承

内部内可访问所在类的所有属性和方法

什么也不写即为friendly(同一个包里的其它类可对他进行访问)
public>protected(不同包里的子类可以进行访问)>friendly(无此关键字)>private

类名:首字母大写,每部单词并在一起且首字母大写(驼峰风格)
其他内容(方法、成员变量、对象…)风格与类相同,但第一个字母小写

“=”在为对象赋值时,是对象的引用
==和!=比较的是对象的引用,用equals()比较实际内容
自定义的类需覆盖equals()

主程序是public static class main,在Java中,类中的静态方法不能直接调用动态方法
只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法
解决办法:将public
class改为public static class.

数字的二进制表示形式为有符号的二进制补码