java之 22天 GUI 图形界面编程(二)
模拟window开打文件
Java代码
1 import java.awt.Button;2 import java.awt.Dialog;
3 import java.awt.FlowLayout;
4 import java.awt.Frame;
5 import java.awt.Label;
6 import java.awt.TextArea;
7 import java.awt.TextField;
8 import java.awt.event.ActionEvent;
9 import java.awt.event.ActionListener;
10 import java.awt.event.KeyAdapter;
11 import java.awt.event.KeyEvent;
12 import java.awt.event.WindowAdapter;
13 import java.awt.event.WindowEvent;
14 import java.io.File;
15
16 public class MyWinDemo {
17
18 private Frame f;
19 private TextField tf;
20 private Button btn;
21 private TextArea ta;
22 private Dialog d;
23 private Label lab;
24 private Button okbtn;
25
26 MyWinDemo(){
27 init();
28 }
29
30 private void init(){
31 f=new Frame("my Window");
32 f.setBounds(300,100,600,500);
33 f.setLayout(new FlowLayout());
34
35 tf=new TextField(60);
36
37 btn=new Button("转到");
38 ta=new TextArea(25,70);
39
40 d=new Dialog(f,"提示信息-self",true);
41 d.setBounds(400,200,250,150);
42 d.setLayout(new FlowLayout());
43
44 lab=new Label();
45 okbtn=new Button("确定");
46
47 d.add(lab);
48 d.add(okbtn);
49
50
51 f.add(tf);
52 f.add(btn);
53 f.add(ta);
54
55 myEvent();
56 f.setVisible(true);
57
58 }
59
60
61 private void myEvent() {
62
63 //添加 回车 时候 自动转到
64 tf.addKeyListener(new KeyAdapter() {
65 @Override
66 public void keyPressed(KeyEvent e) {
67 // TODO Auto-generated method stub
68 if(e.getKeyCode()==KeyEvent.VK_ENTER){
69 showDir();
70 }
71 }
72 });
73 //确定按钮事件
74 okbtn.addActionListener(new ActionListener() {
75
76 @Override
77 public void actionPerformed(ActionEvent e) {
78 // TODO Auto-generated method stub
79 d.setVisible(false);
80 }
81 });
82
83 d.addWindowListener(new WindowAdapter() {
84 @Override
85 public void windowClosing(WindowEvent e) {
86 // TODO Auto-generated method stub
87 d.setVisible(false);
88 }
89
90 });
91
92 btn.addActionListener(new ActionListener() {
93
94 @Override
95 public void actionPerformed(ActionEvent e) {
96 showDir();
97 }
98
99 });
100
101
102 f.addWindowListener(new WindowAdapter() {
103 public void windowClosing(WindowEvent e){
104 System.exit(0);
105 }
106
107 });
108
109 }
110 private void showDir() {
111 String dirPath=tf.getText();
112
113 File dir=new File(dirPath);
114 if(dir.exists() && dir.isDirectory()){
115 ta.setText("");
116 String[] names=dir.list();
117 for (String name : names) {
118 ta.append(name+"\r\n");
119 //ta.setText(text);
120 }
121 }else{
122 String info="您输入的信息:"+dirPath+"有误,请重新输入";
123 lab.setText(info);
124 d.setVisible(true);
125 }
126
127 tf.setText("");
128 }
129 public static void main(String[] args) {
130 new MyWinDemo();
131 }
132
133 }
模拟简单记事本
Java代码
1 import java.awt.FileDialog;2 import java.awt.Frame;
3 import java.awt.Menu;
4 import java.awt.MenuBar;
5 import java.awt.MenuItem;
6 import java.awt.TextArea;
7 import java.awt.event.ActionEvent;
8 import java.awt.event.ActionListener;
9 import java.awt.event.WindowAdapter;
10 import java.awt.event.WindowEvent;
11 import java.io.BufferedReader;
12 import java.io.BufferedWriter;
13 import java.io.File;
14 import java.io.FileReader;
15 import java.io.FileWriter;
16 import java.io.IOException;
17
18 /**
19 * 实现菜单栏
20 */
21 public class MyMenuDemo {
22
23
24 private Frame f;
25 private MenuBar mb;
26 private Menu m,subm;
27 private MenuItem closeItem,openItem,saveItem,subItem1,subItem;
28 private FileDialog openDialog,saveDialog;
29 private TextArea ta;
30 private File file;
31
32 MyMenuDemo(){
33 init();
34 }
35
36 private void init(){
37 f=new Frame("my Window");
38 f.setBounds(300,100,600,500);
39 //f.setLayout();
40
41 mb=new MenuBar();
42 m=new Menu("文件");
43
44 closeItem=new MenuItem("退出");
45 openItem=new MenuItem("打开");
46 saveItem=new MenuItem("保存");
47
48 subm=new Menu("新建");
49 subItem1=new MenuItem("Web Project");
50 subItem=new MenuItem("Java Project");
51 subm.add(subItem);
52 subm.add(subItem1);
53
54 m.add(subm);
55 m.add(openItem);
56 m.add(saveItem);
57 m.add(closeItem);
58 mb.add(m);
59
60 openDialog=new FileDialog(f,"我要打开",FileDialog.LOAD);
61 saveDialog=new FileDialog(f,"我要保存",FileDialog.SAVE);
62
63 ta=new TextArea();
64
65 f.add(ta);
66 f.setMenuBar(mb);
67 myEvent();
68
69 f.setVisible(true);
70
71 }
72
73 private void myEvent() {
74
75 saveItem.addActionListener(new ActionListener() {
76
77 @Override
78 public void actionPerformed(ActionEvent e) {
79 // TODO Auto-generated method stub
80 if(file==null){
81 saveDialog.setVisible(true);
82 String dirPath=saveDialog.getDirectory();
83 String fileName=saveDialog.getFile();
84 if(dirPath==null || fileName==null)
85 return;
86 file=new File(dirPath,fileName);
87 }
88 try {
89
90 BufferedWriter bufw=new BufferedWriter(new FileWriter(file));
91
92 String text=ta.getText();
93
94 bufw.write(text);
95 bufw.close();
96 } catch (IOException e2) {
97 throw new RuntimeException("保存失败");
98 }
99
100 }
101 });
102
103 //打开菜单
104 openItem.addActionListener(new ActionListener() {
105
106 @Override
107 public void actionPerformed(ActionEvent e) {
108 // TODO Auto-generated method stub
109 openDialog.setVisible(true);
110 String dirPath=openDialog.getDirectory();
111 String fileName=openDialog.getFile();
112 System.out.println(dirPath+"...."+fileName);
113 if(dirPath==null || fileName==null)
114 return;
115 ta.setText("");
116 file=new File(dirPath,fileName);
117 try {
118 BufferedReader bufr=new BufferedReader(new FileReader(file));
119 String line=null;
120 while((line=bufr.readLine())!=null){
121 ta.append(line+"\r\n");
122 }
123 bufr.close();
124 } catch (IOException e2) {
125 throw new RuntimeException("打开异常");
126 }
127
128 }
129 });
130
131
132 closeItem.addActionListener(new ActionListener() {
133
134 @Override
135 public void actionPerformed(ActionEvent e) {
136 // TODO Auto-generated method stub
137 System.exit(0);
138 }
139 });
140
141 f.addWindowListener(new WindowAdapter() {
142 public void windowClosing(WindowEvent e){
143 System.exit(0);
144 }
145
146 });
147
148 }
149
150
151 public static void main(String[] args) {
152 // TODO Auto-generated method stub
153 new MyMenuDemo();
154 }
155
156 }
以上是 java之 22天 GUI 图形界面编程(二) 的全部内容, 来源链接: utcz.com/z/391567.html