JAVA
1、Date类
a、通过System.currentTimeMillis获取本地时间
Date nowtime = new Date(System. currentTimeMillis())
b、带参数的构造方法获取相关时间差的时间
(计算机公元设置为格林威治1970.1.1, 0时,若运行环境时区为北京,则为1970.1.1, 8时)
1.Date d = new Date(1000) :1970.1.1, 8时1分
2.(System.currentTimeMillis()) 当前时间的差
c、格式化(SimpleDateFormate)
1. 定义格式: SimpleDateFormate sdf = new SimpleDateFormate("yyyy年MM月dd日 E HH时mm分ss秒") (其中E为string 星期几)
2. 输出: System ..... (sdf.format(nowtime))
2、Calendar类
a、初始化对象:
Calendar c =Calendar.getInstance()
设置日期:
c.setTime(new Date()) / c.set(2016,9,9)表10月
b、获取相关时间信息
int 月=c.get(Calendar.Year)+1
string 年 = string.valueof(c.get(Calendar.Year))
月日星期同理,但月要在结尾+1(0代表1月), 星期要在结尾-1(1代表周日)
c、获取当前日历与公元相差毫秒数(天数)
long 天 = c.getTimeInMillis()/(1000*60*60*24)
3、AWT组件
1.容器类 (Container),组件类(Component)。
2.菜单条(menubar)>菜单(menu)>菜单项(menutem) (一个窗口只能有一个菜单条)
3.每当容器添加或删除新组件,应当在Frame中调用validate(),保证容器组件正确显示。
4、文本框ActionEvent事件监听器
a. 事件源: 能产生事件(如文本框,按钮)
b.监听器: 事件源.addActionListener(监听器)
注:创建监听器的类中必须实现接口。
(implements ActionListener)
c.处理事件的接口:
public void actionPerformed(ActionEvent e)
注: 必须在创建监听器(即实现接口)的类中。
例如 : 在Frame中 text1.addActionListener(this)
窗口为text1的监听器。
d.内部类: 创建监听器的类在 事件源.add() 中
可公用其成员变量。
5、按钮与标签
标签只显示文本,不能编辑。
Lable(String s, int alignment),其中第二个为对齐方式,一般为lable.left/right/center。
6、菜单项
一个菜单项menuitem mni,
通过 .setShortcut(MenuShortcut k)设置快捷键
例如: (以下快捷键为E,按Ctrl+E效果相同)
mni.setShortcut(new MenuShortcut(KeyEvent.VK_E))
7、文本区 TextArea(TextEvent事件)
(文本框 TextField(ActionEvent事件))
1. public void setText(String s):将先前的文本清除,文本区为string s的内容。
2. public void append(string s):在先前基础上继续添加文本。
3. 实现接口: implement TextListener
4. 监听器接口方法: public void textValueChanged(TextEvent e) { }
8、面板(Container的子类)
Panel: 一般在一个面板中添加若干组件后,再把面板放到另一个容器中(如Frame).
ScrollPane: 滚动面板,一般将一些组件放在面板中,再把面板添加到滚动面板中。
(构造方法: ScrollPane()滚动条初始不可见)
9、布局
1.FlowLayout: Panel的默认布局,从左往右,从上到下,水平和垂直默认间隙5个像素。
2.BorderLayout: Window(例Frame,Dialog)的默认布局,分为东西南北中,其中中间最大。添加组件的时候必须指明添加在哪个区域。
3.CardLayout: 可以容纳多个组件,但是像扑克牌每次只能显示最上面的一张。
(CardLayout card; con.setLayout(card);
card.next(con); 显示容器当前被显示的组件的下一个组件) 此外还有.first, .last以及 .precious
4.GridLayout(int m, int n): 把容器划分成m行n列。一般把一个其他布局的面板,添加到布局为Grid的网格中,显得组件具有各自大小。
5. BoxLayout:将组件排成一行或者一列。
在Frame中使用Box类,.createHorizontalBox()获取行型盒式布局,.createVerticalBox()获取列型盒式布局。.add()添加Lable/Button,最后在Frame中添加该Box,并设置FlowLayout()。
6.null布局: 使用null布局的容器/组件,必须调用setBounds设置位置和自身大小。
10、画布(Canvas)
画布没有默认最佳大小,用FlowLayout布局的话,必须要用setSize设置大小。
在继承Canvas的类中重写父类方法public void paint(Graphics g),参数g是自动实例化。在他类中调用canvas.repaint()时,先清除paint方法所画内容,再调用pain。
11、选择型组件 (ItemEvent事件)
1.选择框
a.Checkbox(string s,boolean b,CheckboxGroup g),s为后面名称,b为选择状态g为组别。同一个组别的,每时刻只能有一个处于选择状态。
b.监听器 (implement ItemListener)
public void itemStateChanged(ItemEvent e)
{ Checkbox cb = (Checkbox)e.getSource();
if(box.getState()) { } }
2.下拉列表
方法: .getSelectedIndex() 获取选中项的索引
.getSelectedItem()获取选中项的名字
.insert(string name, (int index))插入 可没有索引
.select(int index/string name)选中目标条项
1、Date类
a、通过System.currentTimeMillis获取本地时间
Date nowtime = new Date(System. currentTimeMillis())
b、带参数的构造方法获取相关时间差的时间
(计算机公元设置为格林威治1970.1.1, 0时,若运行环境时区为北京,则为1970.1.1, 8时)
1.Date d = new Date(1000) :1970.1.1, 8时1分
2.(System.currentTimeMillis()) 当前时间的差
c、格式化(SimpleDateFormate)
1. 定义格式: SimpleDateFormate sdf = new SimpleDateFormate("yyyy年MM月dd日 E HH时mm分ss秒") (其中E为string 星期几)
2. 输出: System ..... (sdf.format(nowtime))
2、Calendar类
a、初始化对象:
Calendar c =Calendar.getInstance()
设置日期:
c.setTime(new Date()) / c.set(2016,9,9)表10月
b、获取相关时间信息
int 月=c.get(Calendar.Year)+1
string 年 = string.valueof(c.get(Calendar.Year))
月日星期同理,但月要在结尾+1(0代表1月), 星期要在结尾-1(1代表周日)
c、获取当前日历与公元相差毫秒数(天数)
long 天 = c.getTimeInMillis()/(1000*60*60*24)
3、AWT组件
1.容器类 (Container),组件类(Component)。
2.菜单条(menubar)>菜单(menu)>菜单项(menutem) (一个窗口只能有一个菜单条)
3.每当容器添加或删除新组件,应当在Frame中调用validate(),保证容器组件正确显示。
4、文本框ActionEvent事件监听器
a. 事件源: 能产生事件(如文本框,按钮)
b.监听器: 事件源.addActionListener(监听器)
注:创建监听器的类中必须实现接口。
(implements ActionListener)
c.处理事件的接口:
public void actionPerformed(ActionEvent e)
注: 必须在创建监听器(即实现接口)的类中。
例如 : 在Frame中 text1.addActionListener(this)
窗口为text1的监听器。
d.内部类: 创建监听器的类在 事件源.add() 中
可公用其成员变量。
5、按钮与标签
标签只显示文本,不能编辑。
Lable(String s, int alignment),其中第二个为对齐方式,一般为lable.left/right/center。
6、菜单项
一个菜单项menuitem mni,
通过 .setShortcut(MenuShortcut k)设置快捷键
例如: (以下快捷键为E,按Ctrl+E效果相同)
mni.setShortcut(new MenuShortcut(KeyEvent.VK_E))
7、文本区 TextArea(TextEvent事件)
(文本框 TextField(ActionEvent事件))
1. public void setText(String s):将先前的文本清除,文本区为string s的内容。
2. public void append(string s):在先前基础上继续添加文本。
3. 实现接口: implement TextListener
4. 监听器接口方法: public void textValueChanged(TextEvent e) { }
8、面板(Container的子类)
Panel: 一般在一个面板中添加若干组件后,再把面板放到另一个容器中(如Frame).
ScrollPane: 滚动面板,一般将一些组件放在面板中,再把面板添加到滚动面板中。
(构造方法: ScrollPane()滚动条初始不可见)
9、布局
1.FlowLayout: Panel的默认布局,从左往右,从上到下,水平和垂直默认间隙5个像素。
2.BorderLayout: Window(例Frame,Dialog)的默认布局,分为东西南北中,其中中间最大。添加组件的时候必须指明添加在哪个区域。
3.CardLayout: 可以容纳多个组件,但是像扑克牌每次只能显示最上面的一张。
(CardLayout card; con.setLayout(card);
card.next(con); 显示容器当前被显示的组件的下一个组件) 此外还有.first, .last以及 .precious
4.GridLayout(int m, int n): 把容器划分成m行n列。一般把一个其他布局的面板,添加到布局为Grid的网格中,显得组件具有各自大小。
5. BoxLayout:将组件排成一行或者一列。
在Frame中使用Box类,.createHorizontalBox()获取行型盒式布局,.createVerticalBox()获取列型盒式布局。.add()添加Lable/Button,最后在Frame中添加该Box,并设置FlowLayout()。
6.null布局: 使用null布局的容器/组件,必须调用setBounds设置位置和自身大小。
10、画布(Canvas)
画布没有默认最佳大小,用FlowLayout布局的话,必须要用setSize设置大小。
在继承Canvas的类中重写父类方法public void paint(Graphics g),参数g是自动实例化。在他类中调用canvas.repaint()时,先清除paint方法所画内容,再调用pain。
11、选择型组件 (ItemEvent事件)
1.选择框
a.Checkbox(string s,boolean b,CheckboxGroup g),s为后面名称,b为选择状态g为组别。同一个组别的,每时刻只能有一个处于选择状态。
b.监听器 (implement ItemListener)
public void itemStateChanged(ItemEvent e)
{ Checkbox cb = (Checkbox)e.getSource();
if(box.getState()) { } }
2.下拉列表
方法: .getSelectedIndex() 获取选中项的索引
.getSelectedItem()获取选中项的名字
.insert(string name, (int index))插入 可没有索引
.select(int index/string name)选中目标条项