------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
1、Awt Abstract Window TollKit 抽象窗口工具包
Swing
2、控件
3、布局管理器
FlowLayout流式布局:从左到右,Panel默认的布局管理器
BorderLayout边界布局:上下左右中,Frame默认的布局管理器
GridLayout网络布局管理器:规则的矩阵
CardLayout卡片布局;选项卡
GridBayLayout网络包布局管理器,非规则的矩阵
4、
/*
* 创建图形化界面
* 1、创建frame窗体
* 2、对窗体进行基本设置
* 比如大小、位置、布局
* 3、定义组件
* 4.组件通过窗体的add方法添加到窗体中
* 5、让窗台显示setVisible(true)
* 事件监听机制的特点
* 1.事件源:就是awt包或者swing包中的那些图形界面组件
* 2.事件 :每一个事件源都有自己特有的对应事件和共性事件
* 3.监听器:将可以触发某一个事件的动作(不只一个动作)都已经封装到了监听器中
* 4事件处理
*
* 前三者,在java中都已经定义好了,直接获取其对象来用就可以了。
*/
publicstaticvoid main(String[] args) {
//TODO Auto-generatedmethod stub
//创建窗体
Frame f=new Frame("mycat");
f.setSize(500,200);//窗口大小(横纵)
f.setLocation(100,500);//出现位置
f.setLayout(new FlowLayout());
Button b=new Button("按钮一号");
b.setSize(50,20);
f.add(b);
//实现关闭窗口操作
f.addWindowListener(new WindowAdapter() {
publicvoid windowClosing(WindowEvent w) {
System.out.println("window closing");
System.exit(0);
}
//扩展
publicvoid windowActivated(WindowEvent e) {
System.out.println("激活窗口");
}
publicvoid windowOpened(WindowEvent e) {
System.out.println("打开窗口");
}
});
btn.addActionListener(new ActionListener() {
publicvoid actionPerformed(ActionEvent e) {
System.out.println("button to closing");
System.exit(0);
}
});
f.setVisible(true);//显示,一般放最后
}
5、/*让按钮具备退出程序的功能
按钮就是事件源,那么选择addActionListener
*/
btn.addActionListener(new ActionListener() {
publicvoid actionPerformed(ActionEvent e) {
System.out.println("button to closing");
System.exit(0);
}
});
6、//鼠标停留、点击事件,
//addMouseListener中mouseClicked比
//addActionListener中actionPerformed先执行
btn.addMouseListener(new MouseAdapter() {
privateintcount=1;
privateintClick=1;
publicvoid mouseEntered(MouseEvent e) {
System.out.println("停留="+count++);
}
publicvoid mouseClicked(MouseEvent e) {
//双击事件
if(e.getClickCount()==2)
System.out.println("双击");
System.out.println("点击="+Click++);
}
});
7、//获取键盘按下事件
btn.addKeyListener(new KeyAdapter() {
publicvoid keyReleased(KeyEvent e) {
if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_C)
System.exit(0);
if(e.getKeyCode()==KeyEvent.VK_ESCAPE)//exc==27=KeyEvent.VK_ESCAPE
{
System.out.println("keyEvent to closing");
System.exit(0);
}
System.out.println(KeyEvent.getKeyText(e.getKeyChar())+":"+e.getKeyChar()+"=="+e.getKeyCode());
}
});
8、//文本框,只输入数字
txt=new TextField(20);
txt.addKeyListener(new KeyAdapter() {
publicvoid keyPressed(KeyEvent e) {
int code=e.getKeyCode();
if(!(code>=KeyEvent.VK_0&&code<=KeyEvent.VK_9))
{
System.out.println(KeyEvent.getKeyText(code)+" is wrong");
e.consume();//阻止数据进入
}
}
});
9、按钮实现获取tf文本框中数据,写入ta文本框中
{
Publicvoid actionPerformed(ActionEvent e)
{
String text=tf.getText();
Ta.setText(text)
//扩展
String dirPath= tf.getText();
File dir=new File(dirPath);
If(dir.exists()&&dir.isDirectory)
{
Ta.setText(“”);//清空
String []names=dir.list();
For(string name:names)
Ta.append(name+”\r\n”);
}
Else
{
警告框。
String info=”你输入信息错误”+ dirPath +”eee”;
d.setVisible(true);
lab.set(info);
}
}
}
10、窗口(警告框)
Private Labellab=new Label()
Dialogd=new Dialog(frame,”提示信息”,true);
d.setBounds(400,200,240,130);
d.setLayout(newFlowLayout)
ButtenokBtn=new butten(“确定”);
d.add(lab);
d.add(okBtn);
X
public void windowClosing(windowEvent e)
{
d.setVisible(false);
}
okBtn
d.setVisible(false);
11、菜单栏设计
publicclass MyMenuDemo {
private Framef;
private MenuBarmb;
private Menum,subMenu;
private MenuItemcloseItem,subItem,subItem2;
MyMenuDemo()
{
init();
}
publicvoid init()
{
f=new Frame("my frame");
//对frame进行基本设置
f.setBounds(30,500,600,600);
f.setLayout(new FlowLayout());
mb=new MenuBar();
m=new Menu("文件");
subMenu=new Menu("子菜单");
subItem=new MenuItem("子条目");
subItem2=new MenuItem("子条目2");
closeItem=new MenuItem("退出");
subMenu.add(subItem);
subMenu.add(subItem2);
m.add(subMenu);
m.add(closeItem);
mb.add(m);
f.setMenuBar(mb);
myEvent();
f.setVisible(true);
}
privatevoid myEvent()
{
//菜单退出
closeItem.addActionListener(new ActionListener() {
@Override
publicvoid actionPerformed(ActionEvent e) {
//TODO Auto-generatedmethod stub
System.out.println("Menuclosing");
System.exit(0);
}
});
f.addWindowListener(new WindowAdapter() {
publicvoid windowClosing(WindowEvent w) {
System.out.println("windowclosing");
System.exit(0);
}
});
}
publicstaticvoid main(String[] args) {
//TODO Auto-generatedmethod stub
new MyMenuDemo();
}
}
12、菜单-文件打开与保存
package com.edu.Tewnty_Two;
import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class MyMenuDemo {
privateFrame f;
privateMenuBar mb;
//文本
privateTextArea ta;
//
privateFile file;
privateMenu m,m2,subMenu,fileMenu;
privateMenuItem closeItem,subItem,subItem2,clearItem;
privateMenuItem openItem,saveItem;
MyMenuDemo()
{
init();
}
publicvoid init()
{
f=newFrame("my frame");
//对frame进行基本设置
f.setBounds(30,500,600,600);
//f.setLayout(newFlowLayout());
mb=newMenuBar();
ta=newTextArea();
m=newMenu("文件");
m2=newMenu("清空");
subMenu=newMenu("子菜单");
fileMenu=newMenu("文件操作");
subItem=newMenuItem("子条目");
subItem2=newMenuItem("子条目2");
closeItem=newMenuItem("退出");
clearItem=newMenuItem("OK");
saveItem=newMenuItem("保存文件");
openItem=newMenuItem("打开文件");
subMenu.add(subItem);
subMenu.add(subItem2);
fileMenu.add(openItem);
fileMenu.add(saveItem);
m.add(fileMenu);
m.add(subMenu);
m.add(closeItem);
m2.add(clearItem);
mb.add(m);
mb.add(m2);
f.setMenuBar(mb);
openDialog=newFileDialog(f,"open file",FileDialog.LOAD);
saveDialog=newFileDialog(f,"save file",FileDialog.SAVE);
myEvent();
f.add(ta);
f.setVisible(true);
}
privateFileDialog openDialog,saveDialog;
privatevoid myEvent()
{
//清空文本框
clearItem.addActionListener(newActionListener() {
@Override
publicvoid actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
ta.setText("");
}
});
//菜单保存
saveItem.addActionListener(newActionListener() {
@Override
publicvoid actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
if(file==null)
{
saveDialog.setVisible(true);
Stringdirpath=saveDialog.getDirectory();
Stringfilename=saveDialog.getFile();
if(filename==null||dirpath==null)
return;
file=newFile(dirpath,filename);
}
try{
BufferedWriterbufw=
newBufferedWriter(new FileWriter(file));
Stringtext=ta.getText();
bufw.write(text);
bufw.close();
}catch (Exception e2) {
//TODO: handle exception
System.out.println("保存出现错误");
}
}
});
//菜单打开
openItem.addActionListener(newActionListener() {
@Override
publicvoid actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
openDialog.setVisible(true);
Stringdirpath=openDialog.getDirectory();
Stringfilename=openDialog.getFile();
System.out.println(filename+":"+dirpath);
if(filename==null||dirpath==null)
return;
ta.setText("");
file=newFile(dirpath,filename);
try{
BufferedReader bufr=
newBufferedReader(new FileReader(file));
StringlineString=null;
if((lineString=bufr.readLine())!=null)
{
ta.append(lineString+"\r\n");
}
bufr.close();
}catch (IOException e2) {
//TODO: handle exception
System.out.println("出现错误");
}
}
});
//菜单退出
closeItem.addActionListener(newActionListener() {
@Override
publicvoid actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
System.out.println("Menuclosing");
System.exit(0);
}
});
f.addWindowListener(newWindowAdapter() {
publicvoid windowClosing(WindowEvent w) {
System.out.println("windowclosing");
System.exit(0);
}
});
}
publicstatic void main(String[] args) {
//TODO Auto-generated method stub
newMyMenuDemo();
}
}
13、
14、
15、