----------android培训、java培训、java学习型技术博客、期待与您交流!------------
在此,分享一下自己学习JAVA的学习心得。有不对的地方请帮忙改正,也希望对想学java的同学有帮助!
JAVA基础
—GUI
GUI概述
GUI • Graphical User Interface(图形用户接口)。
• 用图形的方式,来显示计算机操作的界面,这样更方便更直 观。
CLI • Command line User Interface (命令行用户接口)
• 就是常见的Dos命令行操作。
• 需要记忆一些常用的命令,操作不直观。
Container:为容器,是一个特殊的组件,该组件中可以通过add 方法添加其他组件进来。
布局管理器
容器中的组件的排放方式,就是布局。
常见的布局管理器:
1).FlowLayout(流式布局管理器)
从左到右的顺序排列。
2).Panel默认的布局管理器。
3).BorderLayout(边界布局管理器)
东,南,西,北,中 •Frame默认的布局管理器。
4).GridLayout(网格布局管理器)
规则的矩阵
5).CardLayout(卡片布局管理器)
选项卡
6).GridBagLayout(网格包布局管理器)
非规则的矩阵
创建图形化界面:
1,创建frame窗体。
2,对窗体进行基本设置。
比如大小,位置,布局。
3,定义组件。
4,将组件通过窗体的add方法添加到窗体中。
5,让窗体显示,通过setVisible(true)。
事件监听机制流程图
事件监听机制的特点:
1,事件源。
2,事件。
3,监听器。
4,事件处理。
事件源:就是awt包或者swing包中的那些图形界面组件。
事件:每一个事件源都有自己特有的对应事件和共性事件。
监听器:将可以触发某一个事件的动作(不只一个动作)都已经封装到了监听器中。
窗口监听器:WindowListener
事件:ActionListener
鼠标事件:MouseListener
键盘事件:KeyListener
JAVA练习代码:
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.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
class MyMenuDemo{
private Frame f;//窗口
private MenuBar mb;//菜单栏
private TextArea ta;//文本框区域
private Menu m,submenu;//菜单
private MenuItem closeItem,subItem,openItem,saveItem;//菜单条目
private FileDialog openDia,saveDia;//对话框
private File file;
MyMenuDemo(){
init();
}
public void init(){
f = new Frame("my window");
//设置窗口大小位置
f.setBounds(300,100,500,600);//x, y, width, height
//f.setLayout(new FlowLayout());
mb = new MenuBar();
ta = new TextArea();
m = new Menu("文件");
submenu = new Menu("子菜单");
subItem = new MenuItem("子条目");
openItem = new MenuItem("打开");
saveItem = new MenuItem("保存");
closeItem = new MenuItem("退出");
m.add(openItem);
m.add(saveItem);
submenu.add(subItem);
m.add(submenu);
m.add(closeItem);
mb.add(m);
f.setMenuBar(mb);
//对话框设置
openDia = new FileDialog(f,"打开",FileDialog.LOAD);
saveDia = new FileDialog(f,"保存",FileDialog.SAVE);
f.add(ta);
myEvent();//事件
f.setVisible(true);//
}
private void myEvent(){
//打开事件
openItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
openDia.setVisible(true);
String dirPath = openDia.getDirectory();
String fileName = openDia.getFile();
if(dirPath == null || fileName == null)
return;
file = new File(dirPath,fileName);
try {
BufferedReader bufr = new BufferedReader(new FileReader(file));
String line = null;
while((line = bufr.readLine())!= null){
ta.append(line + "\r\n");
}
bufr.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e2) {
e2.printStackTrace();
}
}
});
//保存事件
saveItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(file == null)
{
saveDia.setVisible(true);
String dirPath = saveDia.getDirectory();
String fileName = saveDia.getFile();
if(dirPath == null || fileName == null)
return;
file = new File(dirPath,fileName);
}
try {
BufferedWriter bufw = new BufferedWriter(new FileWriter(file));
String text = ta.getText();
bufw.write(text);
bufw.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
//关闭事件
closeItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
}
public class Demo {
public static void main(String[] args) {
new MyMenuDemo();
}
}
本文分享了 Java GUI 编程的基础知识,包括 AWT 和 Swing 的区别、常用布局管理器介绍及图形界面的创建步骤,并提供了一个包含菜单栏、文本区及文件操作功能的示例代码。
499

被折叠的 条评论
为什么被折叠?



