1.void actionPerformed(ActionEvent event){
Object temp=event.getSource();}
a.是一个监听方法,发生操作时(点击鼠标)自动得到事件对象event
b.通过temp=event.getSource()获得实例对(例如temp得到为JButton类型的按钮对象)
c..getSource()返回发生事件的对象
d.temp为Object型,是临时对象,具体类型还没实现
2.使用JFrame类创建窗口(有两种方法)
a.new一个JFrame对象
JFrame frame=new JFrame("标题(String型)");
//frame是一个框架,不能直接调用add方法添加Swing组件,得借助contentPane容器 (适用java1.4版本前)
frame.getContentPane().add(panel);
//点击关闭时关闭窗口
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
//pack()自动适应提交容器的尺寸(来自java.awt.window.pack())
frame.pack();
frame.setVisible(true);
b.使用类继承JFrame
public class MyFrame extends JFrame {
public MyFrame(){
this.setTitle("标题");
this.setLocation(width,height);
this.setSize(width,height);
//*设置窗口大小并居中(融合上面两个方法的又一方法)
setSizeCentralizeMe(width,height);
//设置窗口是否可用,boolean=true or false
setVisible(boolean);
}
}
3.ActionListener的三种实现方法
a.只设置一个监听器
void actionPerformed(ActionEvent e){
//利用getActionCommand获得按钮名称
//或利用getSource方法获得对象
//再利用if来对每个按钮来判断
String buttonName=e.getActionCommand();
if(buttonName.equal("按钮1")){
//do something
}
if(e.getSource()==button1){
//do something
}
}
b.设置匿名内部类监听
//不建议使用,不利于阅读和维护
如:button1.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
//do something
}
}
c.使用一般命名的内部类
//推荐使用
如:public class Button1Handler implements ActionListener{//注意!没有括号的
public void actionPerformed(ActionEvent e){
//do something
}
}
//对每个组件注册内部监听类
如:button1.addActionListener(new Button1Handler());
4.一些窗口组件(大多位于awt和swing包)
a.单行文本输入框 JTextField
JTextField()里面可有以下参数或为空:
int lenght //构造指定参数长度的单行文本框
String text //构造指定初始内容的单行文本框
String text,int lenght //构造指定初始内容和参数长度的单行文本框
Document docu,String text,int lenght //指定文件储存模式并构造指定初始内容和参数长度的单行文本框
b.多行文本输入框 JTextArea
JTextArea();
JTextArea(int row,int column);
JTextArea(String text);
JTextArea(String text,int row,int column);
JTextArea(Document doc);
JTextArea(Document doc,String text,int row,int column);
c.JFrame,JPanel,JButton,JLabel的关系
JFrame相当于桌子,JPanel相当于桌布,JButton,JLabel等相当于杯子碗筷;
进行界面布局的正确做法:
(1)使用Container content=this.getContentPanel();得到容器
(2)实例化一个JPanel,如:JPanel panel1=new JPanel();
(3)实例化组件,如JButton等
(4)使用panel1.add()方法添加组件
(5)定位如:JButton1.setBounds(0,0,23,24);//这里的坐标是指相对所在容器panel1
d.setBounds(int x,int y,int row,int column)的用法
(1)x,y的坐标是指相对所在容器,row,column指该组件的大小;
(2)如果是布局,则需要把上一阶的布局管理器设为null
如:JPanel jp=new JPanel(null);
JButton jb1=new JButton("button1");
JButton jb2=new JButton("button2");
jb1.setBounds(30,30,50,20);
jb2.setBounds(30,100,50,20);
jp.add(jb1);
jp.add(jb2);
5.窗口菜单
a.JMenuBar,JMenu,JMenuItem
(1)分别对应菜单条,菜单和菜单项(可以给JMenuItem注册监听器,而JMenuBar,JMenu不能)
(2)构造JMenuBar实例后,要将其设置为窗口的菜单条
JMenuBar menubar=new JMenuBar();
Frame.setJMenuBar(menubar); //注意用的是set方法
(3)构造JMenu实例后,要将其设置为菜单条的菜单
JMenu menu=new JMenu();
menubar.addJMenu(menu); //注意用的是add方法
(4)构造JMenuItem实例后,要将其设置为菜单的菜单项
JMenuItem menuitem=new JMenuItem();
menu.addJMenu(menuitem); //注意用的是add方法
*注意:菜单中添加的对象也可以为菜单,分割符。
6.ScrollPane的使用
ScrollPane scrollpane=new ScrollPane(p1);
Object temp=event.getSource();}
a.是一个监听方法,发生操作时(点击鼠标)自动得到事件对象event
b.通过temp=event.getSource()获得实例对(例如temp得到为JButton类型的按钮对象)
c..getSource()返回发生事件的对象
d.temp为Object型,是临时对象,具体类型还没实现
2.使用JFrame类创建窗口(有两种方法)
a.new一个JFrame对象
JFrame frame=new JFrame("标题(String型)");
//frame是一个框架,不能直接调用add方法添加Swing组件,得借助contentPane容器 (适用java1.4版本前)
frame.getContentPane().add(panel);
//点击关闭时关闭窗口
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
//pack()自动适应提交容器的尺寸(来自java.awt.window.pack())
frame.pack();
frame.setVisible(true);
b.使用类继承JFrame
public class MyFrame extends JFrame {
public MyFrame(){
this.setTitle("标题");
this.setLocation(width,height);
this.setSize(width,height);
//*设置窗口大小并居中(融合上面两个方法的又一方法)
setSizeCentralizeMe(width,height);
//设置窗口是否可用,boolean=true or false
setVisible(boolean);
}
}
3.ActionListener的三种实现方法
a.只设置一个监听器
void actionPerformed(ActionEvent e){
//利用getActionCommand获得按钮名称
//或利用getSource方法获得对象
//再利用if来对每个按钮来判断
String buttonName=e.getActionCommand();
if(buttonName.equal("按钮1")){
//do something
}
if(e.getSource()==button1){
//do something
}
}
b.设置匿名内部类监听
//不建议使用,不利于阅读和维护
如:button1.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
//do something
}
}
c.使用一般命名的内部类
//推荐使用
如:public class Button1Handler implements ActionListener{//注意!没有括号的
public void actionPerformed(ActionEvent e){
//do something
}
}
//对每个组件注册内部监听类
如:button1.addActionListener(new Button1Handler());
4.一些窗口组件(大多位于awt和swing包)
a.单行文本输入框 JTextField
JTextField()里面可有以下参数或为空:
int lenght //构造指定参数长度的单行文本框
String text //构造指定初始内容的单行文本框
String text,int lenght //构造指定初始内容和参数长度的单行文本框
Document docu,String text,int lenght //指定文件储存模式并构造指定初始内容和参数长度的单行文本框
b.多行文本输入框 JTextArea
JTextArea();
JTextArea(int row,int column);
JTextArea(String text);
JTextArea(String text,int row,int column);
JTextArea(Document doc);
JTextArea(Document doc,String text,int row,int column);
c.JFrame,JPanel,JButton,JLabel的关系
JFrame相当于桌子,JPanel相当于桌布,JButton,JLabel等相当于杯子碗筷;
进行界面布局的正确做法:
(1)使用Container content=this.getContentPanel();得到容器
(2)实例化一个JPanel,如:JPanel panel1=new JPanel();
(3)实例化组件,如JButton等
(4)使用panel1.add()方法添加组件
(5)定位如:JButton1.setBounds(0,0,23,24);//这里的坐标是指相对所在容器panel1
d.setBounds(int x,int y,int row,int column)的用法
(1)x,y的坐标是指相对所在容器,row,column指该组件的大小;
(2)如果是布局,则需要把上一阶的布局管理器设为null
如:JPanel jp=new JPanel(null);
JButton jb1=new JButton("button1");
JButton jb2=new JButton("button2");
jb1.setBounds(30,30,50,20);
jb2.setBounds(30,100,50,20);
jp.add(jb1);
jp.add(jb2);
5.窗口菜单
a.JMenuBar,JMenu,JMenuItem
(1)分别对应菜单条,菜单和菜单项(可以给JMenuItem注册监听器,而JMenuBar,JMenu不能)
(2)构造JMenuBar实例后,要将其设置为窗口的菜单条
JMenuBar menubar=new JMenuBar();
Frame.setJMenuBar(menubar); //注意用的是set方法
(3)构造JMenu实例后,要将其设置为菜单条的菜单
JMenu menu=new JMenu();
menubar.addJMenu(menu); //注意用的是add方法
(4)构造JMenuItem实例后,要将其设置为菜单的菜单项
JMenuItem menuitem=new JMenuItem();
menu.addJMenu(menuitem); //注意用的是add方法
*注意:菜单中添加的对象也可以为菜单,分割符。
6.ScrollPane的使用
ScrollPane scrollpane=new ScrollPane(p1);