Java2实用教程(第二版)程序代码——第二十五章 Java Swing 基础
1//例子1
2import javax.swing.*;import java.awt.*;import java.awt.event.*;
3public class Example25_1
4{ public static void main(String args[])
5 { JButton button=new JButton("轻组件按钮");
6 JTextArea text=new JTextArea("轻组件",20,20);
7 JFrame jframe=new JFrame("根窗体");
8 jframe.setSize(200,300);jframe.setBackground(Color.blue);
9 jframe.setVisible(true);jframe.pack();
10 jframe.addWindowListener(new WindowAdapter()
11 {public void windowClosing(WindowEvent e)
12 {System.exit(0);}
13 });
14 Container contentpane=jframe.getContentPane();//获得内容面板。
15 contentpane.add(button,BorderLayout.SOUTH); //向内容面板加入组件。
16 contentpane.add(text,BorderLayout.CENTER);
17 jframe.pack();
18 }
19}
20
21//例子2
22import javax.swing.*;import java.awt.*;import java.awt.event.*;
23class Mywindow extends JFrame
24{ JButton button;JTextArea text;
25 Mywindow()
26 { setSize(200,400);setVisible(true);
27 Container con=getContentPane(); con.setLayout(new FlowLayout());
28 button=new JButton("ok");text=new JTextArea(10,20);
29 con.add(button);con.add(text);pack();
30 addWindowListener(new WindowAdapter()
31 {public void windowClosing(WindowEvent e)
32 {System.exit(0);}
33 });
34 }
35}
36public class Example25_2
37{ public static void main(String args[])
38 { Mywindow win=new Mywindow();win.pack();
39 }
40}
41
42//例子3
43import javax.swing.*;import java.awt.BorderLayout;
44public class Example25_3 extends JApplet
45{ JButton button; JTextArea text;
46 public void init()
47 { button=new JButton("确定");text=new JTextArea();
48 getContentPane().add(text,BorderLayout.CENTER); //小程序容器得到内容面板。
49 getContentPane().add(button,BorderLayout.WEST);//并向内容面板中添加组件。
50 }
51}
52
53//例子4
54import javax.swing.*;import java.awt.*;import java.awt.event.*;
55class Dwindow extends JFrame //建立根窗体用的类。
56{ JButton button1,button2;
57 Dwindow(String s)
58 { super(s);
59 Container con=getContentPane();
60 button1=new JButton("打开"); button2=new JButton("关闭");
61 con.add(button1);con.add(button2);pack();
62 setVisible(true);
63 addWindowListener(new WindowAdapter()
64 { public void windowClosing(WindowEvent e)
65 {System.exit(0);}
66 });
67 }
68}
69class Mydialog extends JDialog //建立对话框类。
70{ JButton button1,button2;
71 Mydialog(JFrame F,String s) //构造方法。
72 { super(F,s);
73 button1=new JButton("open"); button2=new JButton("close");
74 setSize(90,90);setVisible(true);setModal(false);
75 Container con=getContentPane();con.setLayout(new FlowLayout());
76 con.add(button1);con.add(button2);
77 addWindowListener(new WindowAdapter()
78 { public void windowClosing(WindowEvent e)
79 {System.exit(0);}});
80 }
81}
82public class Example25_4 extends JApplet
83{ Dwindow window; Mydialog dialog; JButton button;
84 public void init()
85 { window=new Dwindow("带对话框窗口");//创建窗口。
86 dialog=new Mydialog(window,"我是对话框"); //创建依赖于窗口window的对话框。
87 button=new JButton("ok"); getContentPane().add(button);
88 }
89}
90
91//例子5
92import javax.swing.*;import java.awt.*;import java.awt.event.*;
93class Myframe extends JFrame implements ActionListener
94{ JButton button;JTextArea text;
95 Myframe()
96 { setSize(200,400);setVisible(true);
97 Container con=getContentPane();
98 con.setLayout(new FlowLayout());
99 button=new JButton("ok");text=new JTextArea(10,20);
100 con.add(button);con.add(text);
101 button.addActionListener(this);
102 addWindowListener(new WindowAdapter()
103 { public void windowClosing(WindowEvent e)
104 {System.exit(0);}});
105 }
106 public void actionPerformed(ActionEvent e)
107 { if(e.getSource()==button)
108 text.setText("i am a boy,and you?");
109 }
110}
111public class Example25_5
112{ public static void main(String args[])
113 { Myframe fr=new Myframe();fr.pack();
114 }
115}
116
117//例子6
118 import javax.swing.*; import java.awt.*;
119class Mycanvas extends JPanel
120{ public void paintComponent(Graphics g)
121 { super.paintComponent(g);
122 g.setColor(Color.red); g.drawString("a Jpanel used as canvas",50,50);
123 }
124}
125public class Example25_6 extends JApplet
126{ Mycanvas canvas; JPanel panel;JButton button;
127 public void init()
128 { canvas=new Mycanvas();panel=new JPanel();button=new JButton("ok");
129 panel.add(button); Container con=getContentPane();
130 con.add(panel,BorderLayout.NORTH); con.add(canvas,BorderLayout.CENTER);
131 }
132}
133
134//例子7
135import javax.swing.*;import java.awt.*;import java.awt.event.*;
136class Mywindow extends JFrame
137{ JButton button;JTextArea text;JScrollPane scroll;
138 Mywindow()
139 { setSize(200,400);setVisible(true);
140 Container con=getContentPane();
141 button=new JButton("ok");text=new JTextArea(10,20);
142 scroll=new JScrollPane(text);
143 con.add(button,BorderLayout.SOUTH);con.add(scroll,BorderLayout.CENTER);
144 addWindowListener(new WindowAdapter()
145 {public void windowClosing(WindowEvent e)
146 {System.exit(0);}});
147 }
148}
149public class Example25_7
150{ public static void main(String args[])
151 { Mywindow win=new Mywindow();win.pack();
152 }
153}
154
155//例子8
156import javax.swing.*;import java.awt.*;import java.awt.event.*;
157class Mywindow extends JFrame
158{ JButton button1,button2;JTextArea text;JSplitPane split_one,split_two;
159 Mywindow()
160 { setSize(200,400);setVisible(true); Container con=getContentPane();
161 button1=new JButton("ok"); button2=new JButton("No");
162 text=new JTextArea("I love you,java",10,20);
163 split_one=new JSplitPane(JSplitPane.VERTICAL_SPLIT,button1,button2);
164 split_two=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,split_one,text);
165 con.add(split_two,BorderLayout.CENTER);
166 addWindowListener(new WindowAdapter()
167 {public void windowClosing(WindowEvent e)
168 {System.exit(0);}});
169 }
170}
171public class Example25_8
172{ public static void main(String args[])
173 { Mywindow win=new Mywindow();win.pack();
174 }
175}
176
177//例子9
178import javax.swing.*;
179import java.awt.*;
180import java.awt.event.*;
181class Mywindow extends JFrame
182{ JButton button1,button2;
183 JInternalFrame interframe_1,
184 interframe_2;
185 Mywindow()
186 { setSize(200,200); setVisible(true);
187 Container con=getContentPane();
188 con.setLayout(new GridLayout(1,2));
189 button1=new JButton("Boy"); button2=new JButton("Girl");
190 interframe_1=
191 new JInternalFrame("内窗体1",true,true,true,true);
192 interframe_1.setSize(100,100);interframe_1.setVisible(true);
193 interframe_1.getContentPane().add(button1);
194 JDesktopPane desk1=new JDesktopPane();
195 desk1.add(interframe_1);
196 interframe_2=new JInternalFrame("内窗体2",true,true,true,true);
197 interframe_2.setSize(300,150);interframe_2.setVisible(true);
198 interframe_2.getContentPane().add(button2,BorderLayout.CENTER);
199 interframe_2.getContentPane().add(new JLabel("ookk"),BorderLayout.NORTH);
200 JDesktopPane desk2=new JDesktopPane();
201 desk2.add(interframe_2);
202 con.add(desk1);con.add(desk2);
203 addWindowListener(new WindowAdapter()
204 {public void windowClosing(WindowEvent e)
205 {System.exit(0);}});
206 }
207}
208public class Exam25_9
209{ public static void main(String args[])
210 { Mywindow win=new Mywindow();win.pack();
211 }
212}
213
214//例子10
215import javax.swing.*; import java.awt.*;
216import java.awt.event.*;
217class MyWin extends JFrame
218{ JButton b1,b2,b3;
219 public MyWin()
220 { setBounds(100,100,300,200); setVisible(true);
221 addWindowListener(new WindowAdapter()
222 { public void windowClosing(WindowEvent e)
223 { System.exit(0);
224 }
225 });
226 b1=new JButton("按钮1",new ImageIcon("f:/2000/a1.gif"));
227 b2=new JButton("按钮2",new ImageIcon("f:/2000/a2.gif"));
228 b3=new JButton("按钮3",new ImageIcon("f:/2000/a3.gif"));
229 b1.setRolloverIcon(b2.getIcon());
230 b2.setRolloverIcon(b3.getIcon());
231 b3.setRolloverIcon(b1.getIcon());
232 b1.setHorizontalTextPosition(AbstractButton.LEFT);
233 b1.setVerticalTextPosition(AbstractButton.TOP);
234 b2.setHorizontalTextPosition(AbstractButton.RIGHT);
235 b2.setVerticalTextPosition(AbstractButton.BOTTOM);
236 b3.setHorizontalTextPosition(AbstractButton.CENTER);
237 b3.setVerticalTextPosition(AbstractButton.CENTER);
238 Container con=getContentPane();
239 con.setLayout(new FlowLayout());
240 con.add(b1);con.add(b2); con.add(b3);
241 con.validate();
242 }
243}
244public class Example25_10
245{ public static void main(String args[])
246 { new MyWin();
247 }
248}
249
250//例子11
251import javax.swing.*;import java.awt.BorderLayout;
252import java.awt.event.*;import java.awt.*;
253public class Example25_11 extends JApplet implements ActionListener
254{ JLabel label_1,label_2;JButton button;JTextArea text;
255 public void init()
256 { button=new JButton("确定");text=new JTextArea();
257 Icon icon=new ImageIcon("tom.jpg");
258 label_1=new JLabel("标签1",icon,JLabel.CENTER);
259 label_2=new JLabel("标签2");
260 getContentPane().add(text,BorderLayout.CENTER);
261 getContentPane().add(button,BorderLayout.WEST);
262 getContentPane().add(label_1,BorderLayout.NORTH);
263 getContentPane().add(label_2,BorderLayout.SOUTH);
264 button.addActionListener(this);
265 }
266 public void actionPerformed(ActionEvent e)
267 { button.setIcon(label_1.getIcon());
268 label_1.setHorizontalTextPosition(JLabel.LEFT);
269 }
270 }
271
272//例子12
273import javax.swing.*;
274import java.awt.*;
275import java.awt.event.*;
276import javax.swing.border.*;
277class 候选人 extends JCheckBox
278{ int 得票数=0;
279 候选人(String name,Icon icon)
280 { super(name,icon);
281 }
282 public int 获取得票数()
283 { return 得票数;
284 }
285 public void 增加票数()
286 { 得票数++;
287 }
288}
289
290class MyWin extends JFrame implements ActionListener
291{ Box baseBox,boxH,boxV;
292 JTextArea text;
293 JButton button;
294 候选人 候选人1, 候选人2, 候选人3;
295 public MyWin()
296 { setBounds(100,100,300,200);
297 setVisible(true);
298 addWindowListener(new WindowAdapter()
299 { public void windowClosing(WindowEvent e)
300 { System.exit(0);
301 }
302 });
303 baseBox=Box.createHorizontalBox();
304 boxH=Box.createHorizontalBox();
305 boxV=Box.createVerticalBox();
306 候选人1=new 候选人("张小兵",new ImageIcon("a1.gif"));
307 候选人2=new 候选人("李大营",new ImageIcon("a2.gif"));
308 候选人3=new 候选人("王中堂",new ImageIcon("a3.gif"));
309 候选人1.setSelectedIcon(new ImageIcon("b1.gif"));
310 候选人2.setSelectedIcon(new ImageIcon("b2.gif"));
311 候选人3.setSelectedIcon(new ImageIcon("b3.gif"));
312 boxH.add(候选人1); boxH.add(候选人2); boxH.add(候选人3);
313 text=new JTextArea();
314 button=new JButton("显示得票数");
315 button.addActionListener(this);
316 boxV.add(text); boxV.add(button); baseBox.add(boxH);
317 baseBox.add(boxV);
318 Container con=getContentPane();
319 con.setLayout(new FlowLayout());
320 con.add(baseBox);
321 con.validate();
322 }
323 public void actionPerformed(ActionEvent e)
324 { text.setText(null);
325 if(候选人1.isSelected())
326 { 候选人1.增加票数();
327 }
328 if(候选人2.isSelected())
329 { 候选人2.增加票数();
330 }
331 if(候选人3.isSelected())
332 { 候选人3.增加票数();
333 }
334 text.append("\n"+候选人1.getText()+":"+候选人1.获取得票数());
335 text.append("\n"+候选人2.getText()+":"+候选人2.获取得票数());
336 text.append("\n"+候选人3.getText()+":"+候选人3.获取得票数());
337 候选人1.setSelected(false); 候选人2.setSelected(false);
338 候选人3.setSelected(false);
339 }
340}
341public class Example25_12
342{ public static void main(String args[])
343 { new MyWin();
344 }
345}
346
347//例子13
348import javax.swing.*;
349import java.awt.*;import java.awt.event.*;
350class Mywindow extends JFrame implements ItemListener
351{ JRadioButton button1,button2,button3;ButtonGroup fruit;
352 JLabel label ;JScrollPane scroll;JPanel panel;JSplitPane split;
353 Mywindow()
354 { setSize(200,400);setVisible(true);
355 Container con=getContentPane();
356 fruit=new ButtonGroup();
357 button1=new JRadioButton("苹果");
358 fruit.add(button1);
359 button2=new JRadioButton("香蕉");
360 fruit.add(button2);
361 button3=new JRadioButton("西瓜");
362 fruit.add(button3);
363 label=new JLabel();panel=new JPanel();
364 scroll=new JScrollPane(label);
365 panel.add(button1);panel.add(button2);panel.add(button3);
366 split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,panel, scroll);
367 con.add(split);
368 button1.addItemListener(this);button2.addItemListener(this);
369 button3.addItemListener(this);
370 addWindowListener(new WindowAdapter()
371 {public void windowClosing(WindowEvent e)
372 {System.exit(0);}});
373 }
374 public void itemStateChanged(ItemEvent e)
375 {if(e.getItemSelectable()==button1)
376 {label.setIcon(new ImageIcon("a.jpg")); }
377 else if(e.getItemSelectable()==button2)
378 {label.setIcon(new ImageIcon("b.jpg")); }
379 else if(e.getItemSelectable()==button3)
380 {label.setIcon(new ImageIcon("c.jpg")); }
381 }
382}
383public class Example25_13
384{ public static void main(String args[])
385 { Mywindow win=new Mywindow();win.pack();
386 }
387}
388
389//例子14
390import javax.swing.*;import java.awt.*;import java.awt.event.*; import java.net.*;
391public class Example25_14 extends JApplet implements ItemListener
392{ JComboBox choice1,choice2; JSplitPane split1,split2;
393 JLabel label; URL url;
394 public void init()
395 { Container con=getContentPane(); String[] s={"苹果", "香蕉" ,"西瓜"};
396 choice1=new JComboBox(s);choice2=new JComboBox();
397 label=new JLabel();choice2.setEditable(true);
398 split1=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,choice1,choice2);
399 split2=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true,split1,label);
400 choice1.addItemListener(this);choice2.addItemListener(this);con.add(split2);
401 }
402 public void itemStateChanged(ItemEvent e)
403 { if(e.getItemSelectable()==choice1)
404 { if(choice1.getSelectedIndex()==0)
405 { label.setIcon(new ImageIcon("a.jpg"));}
406 else if(choice1.getSelectedIndex()==1)
407 { label.setIcon(new ImageIcon("b.jpg")); }
408 else if(choice1.getSelectedIndex()==2)
409 {label.setIcon(new ImageIcon("c.jpg"));}
410 }
411 else if(e.getItemSelectable()==choice2)
412 { try{url=new URL((String)choice2.getSelectedItem());
413 label.setText("你正在连接到:"+choice2.getSelectedItem());
414 }
415 catch(MalformedURLException g)
416 { label.setText("不正确的URL:"+url);
417 }
418 getAppletContext().showDocument(url);
419 }
420 }
421}
422
423//例子15
424import javax.swing.*;
425import javax.swing.text.*;
426import java.awt.*;
427class DigitDocumnet extends PlainDocument
428{ public void insertString(int offset ,String s,AttributeSet a)
429 { char c=s.charAt(0);
430 if ((c<='9'&&c>='0')||(c=='.'))
431 { try {super.insertString(offset,s,a);}
432 catch(BadLocationException e){}
433 }
434 }
435}
436public class DigitText extends JApplet
437{ JTextField text=null;
438 DigitDocumnet document=new DigitDocumnet();
439 public void init()
440 { text=new JTextField(30);
441 Container con= getContentPane();
442 con.setLayout(new FlowLayout());
443 text.setDocument(document);
444 con.add(text);
445 }
446}
447
448//例子16
449import javax.swing.*;
450import javax.swing.text.*;
451import java.awt.*;
452public class Example25_16 extends JApplet
453{ JTextPane textpane;
454 public void init()
455 { textpane=new JTextPane();//创建文本窗格。
456 getContentPane().add(textpane);
457 }
458}
459
460//例子17
461import javax.swing.*;import javax.swing.text.*;
462import java.awt.*;
463public class Example25_17 extends JApplet
464 { JTextPane textpane;
465 MutableAttributeSet center_align,char_style;
466 public void init()
467 { textpane=new JTextPane();//创建文本窗格。
468JScrollPane scroll=
469new ScrollPane(textpane,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
470 JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
471 center_align=new SimpleAttributeSet();
472 char_style=new SimpleAttributeSet(); //创建属性对象。
473 StyleConstants.setAlignment(center_align,StyleConstants.ALIGN_CENTER);
474 StyleConstants.setFontFamily( char_style,"Serif");
475 StyleConstants.setFontSize(char_style,70);
476 StyleConstants.setForeground(char_style,Color.red);//为属性对象指定值
477 textpane.setParagraphAttributes(center_align,true);//文本窗格设置文本的属性
478 textpane.setCharacterAttributes(char_style,true);
479 getContentPane().add(scroll);
480 }
481}
482
483//例子18
484import javax.swing.*;import javax.swing.text.*;
485import java.awt.*;
486public class Example25_18 extends JApplet
487{ JTextPane textpane;
488 MutableAttributeSet center_align,char_style_1,char_style_2;
489 public void init()
490 { textpane=new JTextPane();//创建文本窗口
491 JScrollPane scroll=new
492 JScrollPane(textpane,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
493 JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
494 Document mydocument=textpane.getDocument();//初始化一个文档。
495 center_align=new SimpleAttributeSet();
496 char_style_1=new SimpleAttributeSet();
497 char_style_2=new SimpleAttributeSet();
498 StyleConstants.setAlignment(center_align,StyleConstants.ALIGN_CENTER);
499 StyleConstants.setFontFamily( char_style_1,"Courier");
500 StyleConstants.setFontSize(char_style_1,20);
501 StyleConstants.setForeground(char_style_1,Color.red);
502 StyleConstants.setFontFamily( char_style_2,"Serif");
503 StyleConstants.setFontSize(char_style_2,14);
504 StyleConstants.setForeground(char_style_2,Color.blue);
505 textpane.setParagraphAttributes(center_align,true);
506 textpane.setCharacterAttributes(char_style_1,true);
507 try{ textpane.insertIcon(new ImageIcon("a.jpg"));
508 mydocument.insertString(mydocument.getLength(),"Lovely Apple\n",char_style_1);
509 }
510 catch(BadLocationException e) {}
511 textpane.setParagraphAttributes(center_align,true);
512 textpane.setCharacterAttributes(char_style_2,true);
513 try{ mydocument.insertString(mydocument.getLength(),
514 "I Want It\n",char_style_2);
515 }
516 catch(BadLocationException e) {}
517 getContentPane().add(scroll);
518 }
519}
520
521//例子19
522import javax.swing.*;
523import javax.swing.text.*;
524import java.awt.*;import java.io.*;
525public class Example25_19 extends JApplet
526{ JTextPane textpane;FileInputStream readfile;
527 public void init()
528 { textpane=new JTextPane();//创建文本窗口
529 JScrollPane scroll=new JScrollPane(textpane);
530 try{ readfile=new FileInputStream("Example25_19.java");
531 }
532 catch(IOException ee){}
533 try{textpane.read(readfile,this);
534 }
535 catch(Exception e)
536 {}
537 getContentPane().add(scroll);
538 }
539}
540
541//例子20
542import javax.swing.*;import java.awt.*;
543import java.awt.event.*;import java.io.*;
544class FileWin extends JFrame implements ActionListener
545{ JButton button; JTextArea text;JTextPane textpane;FileInputStream readfile;
546 JScrollPane scroll;Container con;
547 JFileChooser chooser=new JFileChooser();
548 FileWin()
549 { super("有文件选择器的窗口");
550 button=new JButton("打开文件选取器");
551 button.addActionListener(this);
552 textpane=new JTextPane();
553 scroll=new JScrollPane(textpane);
554 setSize(200,200); setVisible(true);
555 addWindowListener(new WindowAdapter()
556 {public void windowClosing(WindowEvent e)
557 { System.exit(0);}} );
558 con=getContentPane();con.add(button,BorderLayout.NORTH);
559 con.add(scroll,BorderLayout.CENTER);
560 }
561 public void actionPerformed(ActionEvent e)
562 {if(e.getSource()==button)
563 {String s;
564 int state=chooser.showOpenDialog(null);
565 File file=chooser.getSelectedFile();
566 if(file!=null&&state==JFileChooser.APPROVE_OPTION)
567 { try{ readfile=new FileInputStream(file); //建立到文件的输入流。
568 }
569 catch(IOException ee){}
570 try{ textpane.read(readfile,this);//从流中读取数据。
571 }
572 catch(IOException e1){}
573 }
574 }
575 }
576}
577public class Example25_20
578{public static void main(String args[])
579 {FileWin Win=new FileWin(); Win.pack(); }
580}
581
582//例子21
583import javax.swing.*;
584import java.awt.*;import java.awt.event.*;
585class TimeWin extends JFrame implements ActionListener
586{ static JTextArea text1,text2; Boy boy=new Boy();
587 JScrollPane scroll_1,scroll_2;Container con;
588 Timer time_1,time_2 ; //声明2个计时器对象。
589 JSplitPane splitpane;
590 TimeWin()
591 {super("有计时器窗口");
592 time_1=new Timer(1000,this);//TimeWin对象做计时器的监视器。
593 time_2=new Timer(2000,boy);//Boy对象做计时器的监视器。
594 text1=new JTextArea(); text2=new JTextArea();
595 scroll_1=new JScrollPane(text1);
596 scroll_2=new JScrollPane(text2);
597 splitpane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,scroll_1,
598 scroll_2);
599 setSize(200,200);
600 setVisible(true);
601 con=getContentPane();con.add(splitpane);
602 time_1.start();time_2.start();//启动计时器。
603 addWindowListener(new WindowAdapter()
604 {public void windowClosing(WindowEvent e)
605 { System.exit(0);}} );
606 }
607 public void actionPerformed(ActionEvent e)
608 {text1.append("欢迎光临!"+"\n"); }
609}
610class Boy implements ActionListener
611{ public void actionPerformed(ActionEvent e)
612 { TimeWin.text2.append("再见!"+"\n"); }
613}
614public class Example25_21
615{public static void main(String args[])
616 {TimeWin Win=new TimeWin(); Win.pack(); }
617}
618
619//例子22
620import javax.swing.*;import java.awt.*;
621import java.awt.event.*;
622class BarWin extends JFrame implements ActionListener
623{ Timer time_1; int sum=0,i=1;
624 JProgressBar p_bar;Container con;
625 BarWin()
626 {super("窗口");
627 time_1=new Timer(1000,this);//TimeWin对象做计时器的监视器,每
628 //1000毫秒震铃一次。
629 p_bar=new JProgressBar(0,55);
630 p_bar.setBackground(Color.white);
631 p_bar.setStringPainted(true);
632 setSize(200,200);
633 setVisible(true);
634 con=getContentPane();con.add(p_bar,BorderLayout.NORTH);
635 time_1.start();
636 addWindowListener(new WindowAdapter()
637 {public void windowClosing(WindowEvent e)
638 { System.exit(0);}} );
639 }
640 public void actionPerformed(ActionEvent e)
641 { sum=sum+i;
642 p_bar.setValue(sum);//吃掉sum/55
643 i=i+1;
644 if(sum>=55)
645 time_1.stop();
646 }
647}
648public class Example25_22
649{public static void main(String args[])
650 {BarWin Win=new BarWin(); Win.pack(); }
651}
652
653//例子23
654import javax.swing.*;
655import java.io.*;import java.awt.*;import java.awt.event.*;
656public class Example25_23
657{ public static void main(String args[])
658 { byte b[]=new byte[30];
659 JTextArea text=new JTextArea(20,20);
660 JFrame jframe=new JFrame();
661 jframe.setSize(200,300);jframe.setBackground(Color.blue);
662 jframe.setVisible(true);
663 jframe.addWindowListener(new WindowAdapter()
664 {public void windowClosing(WindowEvent e)
665 {System.exit(0);} });
666 Container contentpane=jframe.getContentPane();
667 contentpane.add(text,BorderLayout.CENTER);
668
669 try{ FileInputStream input=new FileInputStream("Example25_23.java");
670 ProgressMonitorInputStream input_progress=
671 new ProgressMonitorInputStream(contentpane,"读取java文件",input);
672 ProgressMonitor p=input_progress.getProgressMonitor();//获得进度条。
673 while(input_progress.read(b)!=-1)
674 { String s=new String(b);
675 text.append(s);
676 Thread.sleep(1000);//由于文件较小,为了看清进度条这里有意延缓1秒。
677 }
678 }
679 catch(InterruptedException e){}
680 catch(IOException e){}
681 }
682}
683
684//例子24
685import javax.swing.*;import java.awt.*;
686import java.awt.event.*;
687public class Example25_24 extends JFrame implements ActionListener
688{ JTable table;Object a[][];
689 Object name[]={"姓名","英语成绩","数学成绩","总成绩"};
690 JButton button;
691 Example25_24()
692 { a=new Object[8][4];
693 for(int i=0;i<8;i++)
694 { for(int j=0;j<4;j++)
695 {if(j!=0)
696 a[i][j]="0";
697 else
698 a[i][j]="姓名";
699 }
700 }
701 button=new JButton("计算每人总成绩");
702 table=new JTable(a,name);
703 button.addActionListener(this);
704 getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);
705getContentPane().add(new JLabel("修改或录入数据后,需回车确认"),BorderLayout.SOUTH);
706 getContentPane().add(button,BorderLayout.SOUTH);
707 setSize(200,200);
708 setVisible(true);
709 validate();
710 addWindowListener(new WindowAdapter()
711 {public void windowClosing(WindowEvent e)
712 { System.exit(0);
713 }
714 });
715 }
716 public void actionPerformed(ActionEvent e)
717 { for(int i=0;i<8;i++)
718 { double sum=0;
719 boolean boo=true;
720 for(int j=1;j<=2;j++)
721 { try{
722 sum=sum+Double.parseDouble(a[i][j].toString());
723 }
724 catch(Exception ee)
725 {
726 boo=false;
727 table.repaint();
728 }
729 if(boo==true)
730 {
731 a[i][3]=""+sum;
732 table.repaint();
733 }
734 }
735 }
736 }
737 public static void main(String args[])
738 { Example25_24 Win=new Example25_24();
739 }
740}
741
742//例子25
743import javax.swing.*;
744import java.awt.event.*;
745import java.sql.*;
746import java.awt.*;
747 class ResultWin extends JFrame implements ActionListener
748{ Object a[][];
749 Object columnName[]={"学号","姓名","出生日期","数学","物理","英语"};
750 JTable table;JButton button;
751 Container container;
752 String name,xuehao;Date date; int math,physics,english;
753 Connection con;Statement sql; ResultSet rs;
754 JProgressBar p_bar;
755 ResultWin()
756 { super("数据查询");
757 a=new Object[30][6];
758 table=new JTable(a,columnName);
759 setSize(300,300);setVisible(true);
760 button=new JButton("确定");
761 addWindowListener(new WindowAdapter()
762 {public void windowClosing(WindowEvent e)
763 { System.exit(0);}} );
764 button.addActionListener(this);
765 p_bar=new JProgressBar(JProgressBar.VERTICAL,0,50);
766 p_bar.setStringPainted(true) ;
767 container=getContentPane();
768 container.add(button,BorderLayout.SOUTH);
769 container.add(new JScrollPane(table),BorderLayout.CENTER);
770 container.add(p_bar,BorderLayout.WEST);
771 }
772 public void actionPerformed(ActionEvent evt)
773 {if(evt.getSource()==button)
774 {int i=0;
775 try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }
776 catch(ClassNotFoundException e){}
777 try
778{con=DriverManager.getConnection("jdbc:odbc:redsun","snow","ookk");
779 sql=con.createStatement();
780 rs=sql.executeQuery("SELECT * FROM chengjibiao");
781 while(rs.next())
782 { xuehao=rs.getString(1); name=rs.getString(2);date=rs.getDate(3);
783 math=rs.getInt("数学"); physics=rs.getInt("物理");english=rs.getInt("英语");
784 a[i][0]=xuehao;a[i][1]=name;a[i][2]=date;a[i][3]=String.valueOf(math);
785 a[i][4]=String.valueOf(physics);a[i][5]=String.valueOf(english);
786 i++;
787 p_bar.setValue(i);p_bar.setString("查询了"+i+"条记录");
788 }
789 con.close();
790 }
791 catch(SQLException e1) {}
792 }
793 }
794}
795public class Example25_25
796{ public static void main(String args[])
797 {ResultWin win=new ResultWin(); win.pack(); }
798}
799
800//例子26
801import javax.swing.*;
802import java.awt.*;
803import java.awt.event.*;
804public class Example24_26 extends JApplet
805{ Container con;
806 public void init()
807 {con=getContentPane();
808 JMenuBar menubar=new JMenuBar();
809 con.add(menubar,BorderLayout.NORTH);
810 JMenu fileMenu=new JMenu("文件");
811 JMenu editMenu=new JMenu("编辑");
812 JMenu helpMenu=new JMenu("帮助");
813 JMenuItem item1=new JMenuItem("打开");
814 JMenuItem item2=new JMenuItem("保存"); //创建6个菜单项。
815 fileMenu.add(item1); fileMenu.add(item2);
816 menubar.add(fileMenu); menubar.add(editMenu);
817 menubar.add(helpMenu);
818 }
819}
820
821//例子27
822import javax.swing.*;import java.awt.*;
823import java.awt.event.*;
824class ToolWin extends JFrame implements ActionListener
825{ JButton button1,button2; JToolBar bar; Container con;
826 ToolWin()
827 {con=getContentPane();
828 setSize(300,250);setVisible(true);
829 Icon open_icon =new ImageIcon("open.gif");
830 Icon save_icon =new ImageIcon("save.gif");
831 button1=new JButton(open_icon); button2=new JButton(save_icon);
832 bar=new JToolBar();//工具条对象
833 bar.add(button1);bar.add(button2);
834 con.add(bar,BorderLayout.NORTH);
835 button1.addActionListener(this);
836 button1.setToolTipText("open");//设置组件的提示文字
837 button2.setToolTipText("save");
838 }
839 public void actionPerformed(ActionEvent e)
840 {if(e.getSource()==button1)
841 {JFileChooser c=new JFileChooser();
842 c.showOpenDialog(null);
843 }
844 }
845}
846public class Example25_27
847{static void main(String args[])
848 {ToolWin win=new ToolWin() ;win.pack();}
849}
850
851//例子28
852import javax.swing.*;import javax.swing.tree.*;
853import java.awt.*;
854public class Mytree extends JApplet
855{ public void init()
856 {Container con=getContentPane();
857 DefaultMutableTreeNode root=new DefaultMutableTreeNode("c:\\");//树的根节点。
858 DefaultMutableTreeNode t1=new DefaultMutableTreeNode("dos");//节点。
859 DefaultMutableTreeNode t2=new DefaultMutableTreeNode("java");//节点。
860 DefaultMutableTreeNode t1_1=new DefaultMutableTreeNode("applet");
861 DefaultMutableTreeNode t1_2=new DefaultMutableTreeNode("jre");
862 root.add(t1);root.add(t2);
863 t1.add(t1_1);t1.add(t1_2);//t1_1,t1_2成为t1的子节点。
864 JTree tree =new JTree(root); //创建根为root的树。
865 JScrollPane scrollpane=new JScrollPane(tree);
866 con.add(scrollpane);
867 }
868}
869
870//例子29
871import javax.swing.*;
872import javax.swing.tree.*;import java.awt.*;
873import java.awt.event.*;import javax.swing.event.*;
874public class Mytree2 extends JFrame implements TreeSelectionListener
875{ JTree tree=null;JTextArea text=new JTextArea(20,20);
876 Mytree2()
877 {Container con=getContentPane();
878 DefaultMutableTreeNode root=new DefaultMutableTreeNode("同学通讯录");
879 DefaultMutableTreeNode t1=new DefaultMutableTreeNode("大学同学");
880 DefaultMutableTreeNode t2=new DefaultMutableTreeNode("研究生同学");
881 DefaultMutableTreeNode t1_1=new DefaultMutableTreeNode("董明光");
882 DefaultMutableTreeNode t1_2=new DefaultMutableTreeNode("李晓");
883 DefaultMutableTreeNode t2_1=new DefaultMutableTreeNode("王光明");
884 DefaultMutableTreeNode t2_2=new DefaultMutableTreeNode("代学才");
885 root.add(t1);root.add(t2);
886 t1.add(t1_1);t1.add(t1_2); t2.add(t2_1);t2.add(t2_2);
887 tree =new JTree(root);
888 JScrollPane scrollpane=new JScrollPane(text);
889 JSplitPane splitpane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
890 true,tree,scrollpane);
891 tree.addTreeSelectionListener(this);
892 con.add(splitpane);
893 addWindowListener(new WindowAdapter()
894 { public void windowClosing(WindowEvent e)
895 {System.exit(0);} });
896 setVisible(true);setBounds(70,80,200,300);
897 }
898 public void valueChanged(TreeSelectionEvent e)
899 { if(e.getSource()==tree)
900 {DefaultMutableTreeNode node=
901 (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
902 if(node.isLeaf())
903 { String str=node.toString();
904 if(str.equals("董明光"))
905 {text.setText(str+":联系电话:0411-4209876");}
906 else if(str.equals("李晓"))
907 {text.setText(str+":联系电话:010-62789876");}
908 else if(str.equals("王光明"))
909 {text.setText(str+":联系电话:0430-63596677");}
910 else if(str.equals("代学才"))
911 {text.setText(str+":联系电话:020-85192789");}
912 }
913 else
914 {text.setText(node.getUserObject().toString());
915 }
916 }
917 }
918}
919class Example25_29
920{public static void main(String args[])
921 { Mytree2 win=new Mytree2();win.pack();}
922}
923
924//例子30
925import javax.swing.*;import javax.swing.tree.*;
926import java.awt.*;
927public class Mytree3 extends JApplet
928{ public void init()
929 {Container con=getContentPane();
930 DefaultMutableTreeNode root=new DefaultMutableTreeNode("c:\\");//树的根节点。
931 DefaultMutableTreeNode t1=new DefaultMutableTreeNode("dos");//节点。
932 DefaultMutableTreeNode t2=new DefaultMutableTreeNode("java");//节点。
933 DefaultMutableTreeNode t1_1=new DefaultMutableTreeNode("wps");
934 DefaultMutableTreeNode t1_2=new DefaultMutableTreeNode("epg");
935 DefaultMutableTreeNode t2_1=new DefaultMutableTreeNode("applet");
936 DefaultMutableTreeNode t2_2=new DefaultMutableTreeNode("jre");
937 root.add(t1);root.add(t2);
938 t1.add(t1_1);t1.add(t1_2);
939 t2.add(t2_1);t2.add(t2_2);
940 JTree tree =new JTree(root); //创建根为root的树。
941 DefaultTreeCellRenderer render=new DefaultTreeCellRenderer();
942 render.setLeafIcon(new ImageIcon("leaf.gif"));
943 render.setBackground(Color.yellow);
944 render.setClosedIcon(new ImageIcon("close.gif"));
945 render.setOpenIcon(new ImageIcon("open.gif"));
946 render.setTextSelectionColor(Color.red);
947 render.setTextNonSelectionColor(Color.green);
948 render.setFont(new Font("TimeRoman",Font.BOLD,16));
949 tree.setCellRenderer(render);
950 JScrollPane scrollpane=new JScrollPane(tree);
951 con.add(scrollpane);
952 }
953}
954
955//例子31
956import javax.swing.*;
957import javax.swing.tree.*;
958import java.awt.*;
959import java.awt.event.*;
960import java.io.*;import java.util.*;
961class Classmate extends JFrame
962{ JTree tree=null; DefaultMutableTreeNode root;
963 BufferedReader in; FileReader file;
964 Classmate()
965 { Container con=getContentPane();
966 String s=null;
967 try { File f=new File("通讯录.txt");
968 file=new FileReader(f);
969 in=new BufferedReader(file);
970 }
971 catch(FileNotFoundException e){}
972 try { s=in.readLine(); //读取第一行并用它创建根节点。
973 root=new DefaultMutableTreeNode(s);
974 }
975 catch(IOException exp){}
976 try
977 { while((s=in.readLine())!=null&&(s.startsWith("%")))
978 { s=in.readLine();
979 DefaultMutableTreeNode 同学种类=new DefaultMutableTreeNode(s);
980 root.add(同学种类);
981 while((s=in.readLine())!=null&&!(s.startsWith("end")))
982 { StringTokenizer tokenizer=new StringTokenizer(s,"#");
983 String temp=tokenizer.nextToken();
984 DefaultMutableTreeNode 同学种类_姓名
985 =new DefaultMutableTreeNode(temp);
986 同学种类.add(同学种类_姓名);
987 while(tokenizer.hasMoreTokens())
988 {
989 同学种类_姓名.add(new DefaultMutableTreeNode(tokenizer.nextToken()));
990 }
991 }
992 }
993 }
994 catch(IOException exp){}
995 tree =new JTree(root);
996 JScrollPane scrollpane=new JScrollPane(tree);
997 con.add(scrollpane);
998 addWindowListener(new WindowAdapter()
999 { public void windowClosing(WindowEvent e)
1000 {System.exit(0);} });
1001 setVisible(true);setBounds(70,80,200,300);
1002 }
1003 }
1004public class Example31
1005{ public static void main(String args[])
1006 { Classmate win=new Classmate();win.pack();}
1007}
1008
1009//例子32
1010import javax.swing.*;
1011import javax.swing.tree.*;
1012import java.awt.*;
1013import java.awt.event.*;
1014import javax.swing.event.*;
1015import java.io.*;
1016class Remember extends JFrame implements TreeSelectionListener,ActionListener
1017{ JTree tree=null;JTextArea text=new JTextArea(" ",20,20);int i=0;
1018 DefaultMutableTreeNode root;JButton b_save=new JButton("保存日志"),
1019 b_del=new JButton("删除日志");
1020 DefaultMutableTreeNode month[]=new DefaultMutableTreeNode[13];
1021 Remember()
1022 { Container con=getContentPane();
1023 DefaultMutableTreeNode root=new DefaultMutableTreeNode("日历记事本");
1024 for(i=1;i<=12;i++)
1025 { month[i]=new DefaultMutableTreeNode(""+i+"月");
1026 root.add(month[i]);
1027 }
1028 for(i=1;i<=12;i++)
1029 { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
1030 { for(int j=1;j<=31;j++)
1031 month[i].add(new DefaultMutableTreeNode(j+"日"));
1032 }
1033 else if(i==4||i==6||i==9||i==11)
1034 { for(int j=1;j<=30;j++)
1035 month[i].add(new DefaultMutableTreeNode(j+"日"));
1036 }
1037 else
1038 { for(int j=1;j<=28;j++)
1039 month[i].add(new DefaultMutableTreeNode(j+"日"));
1040 }
1041 }
1042 b_save.addActionListener(this); b_del.addActionListener(this);
1043 tree =new JTree(root);
1044 JPanel p=new JPanel();p.setLayout(new BorderLayout());
1045 JScrollPane scrollpane_1=new JScrollPane(text);
1046 p.add(scrollpane_1,BorderLayout.CENTER);
1047 JPanel p_1=new JPanel();p_1.add(b_save);p_1.add(b_del);
1048 p.add(p_1,BorderLayout.NORTH);
1049 JScrollPane scrollpane_2=new JScrollPane(tree);
1050 JSplitPane splitpane=
1051 new SplitPane(JSplitPane.HORIZONTAL_SPLIT,true,scrollpane_2,p);
1052 tree.addTreeSelectionListener(this);
1053 con.add(splitpane);
1054 addWindowListener(new WindowAdapter()
1055 { public void windowClosing(WindowEvent e)
1056 {System.exit(0);
1057 }
1058 });
1059 setVisible(true);setBounds(70,80,200,300);
1060 }
1061 public void valueChanged(TreeSelectionEvent e)
1062 { text.setText(" ");
1063 if(e.getSource()==tree)
1064 { DefaultMutableTreeNode node=
1065 (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
1066 if(node.isLeaf())
1067 { String str=node.toString();
1068 for(int i=0;i<=12;i++)
1069 { if(node.getParent()==month[i])
1070 { try
1071 { String temp=null;
1072 File f=new File(node.getParent().toString()+str+".txt");
1073 FileReader file=new FileReader(f);
1074 BufferedReader in=new BufferedReader(file);
1075 while((temp=in.readLine())!=null)
1076 text.append(temp+'\n');
1077 file.close();in.close();
1078 }
1079 catch(FileNotFoundException e1){}
1080 catch(IOException e1){}
1081 }
1082 }
1083 }
1084 }
1085 }
1086 public void actionPerformed(ActionEvent e)
1087 { if(e.getSource()==b_save)
1088 { DefaultMutableTreeNode node=
1089 (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
1090 String str=node.toString();
1091 if(node.isLeaf())
1092 { try
1093 { File f=new File(node.getParent().toString()+str+".txt");
1094 FileWriter tofile=new FileWriter(f);
1095 BufferedWriter out=new BufferedWriter(tofile);
1096 out.write(text.getText(),0,(text.getText()).length());
1097 out.flush();
1098 tofile.close();out.close();
1099 }
1100 catch(FileNotFoundException e1){}
1101 catch(IOException e1){}
1102 }
1103 }
1104 else if(e.getSource()==b_del)
1105 { DefaultMutableTreeNode node=
1106 (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
1107 String str=node.toString();
1108 if(node.isLeaf())
1109 {
1110 File f=new File(node.getParent().toString()+str+".txt");
1111 f.delete();
1112 }
1113 }
1114 }
1115}
1116public class Example25_32
1117{ public static void main(String args[])
1118 { Remember win=new Remember();win.pack();
1119 }
1120}
1121
2import javax.swing.*;import java.awt.*;import java.awt.event.*;
3public class Example25_1
4{ public static void main(String args[])
5 { JButton button=new JButton("轻组件按钮");
6 JTextArea text=new JTextArea("轻组件",20,20);
7 JFrame jframe=new JFrame("根窗体");
8 jframe.setSize(200,300);jframe.setBackground(Color.blue);
9 jframe.setVisible(true);jframe.pack();
10 jframe.addWindowListener(new WindowAdapter()
11 {public void windowClosing(WindowEvent e)
12 {System.exit(0);}
13 });
14 Container contentpane=jframe.getContentPane();//获得内容面板。
15 contentpane.add(button,BorderLayout.SOUTH); //向内容面板加入组件。
16 contentpane.add(text,BorderLayout.CENTER);
17 jframe.pack();
18 }
19}
20
21//例子2
22import javax.swing.*;import java.awt.*;import java.awt.event.*;
23class Mywindow extends JFrame
24{ JButton button;JTextArea text;
25 Mywindow()
26 { setSize(200,400);setVisible(true);
27 Container con=getContentPane(); con.setLayout(new FlowLayout());
28 button=new JButton("ok");text=new JTextArea(10,20);
29 con.add(button);con.add(text);pack();
30 addWindowListener(new WindowAdapter()
31 {public void windowClosing(WindowEvent e)
32 {System.exit(0);}
33 });
34 }
35}
36public class Example25_2
37{ public static void main(String args[])
38 { Mywindow win=new Mywindow();win.pack();
39 }
40}
41
42//例子3
43import javax.swing.*;import java.awt.BorderLayout;
44public class Example25_3 extends JApplet
45{ JButton button; JTextArea text;
46 public void init()
47 { button=new JButton("确定");text=new JTextArea();
48 getContentPane().add(text,BorderLayout.CENTER); //小程序容器得到内容面板。
49 getContentPane().add(button,BorderLayout.WEST);//并向内容面板中添加组件。
50 }
51}
52
53//例子4
54import javax.swing.*;import java.awt.*;import java.awt.event.*;
55class Dwindow extends JFrame //建立根窗体用的类。
56{ JButton button1,button2;
57 Dwindow(String s)
58 { super(s);
59 Container con=getContentPane();
60 button1=new JButton("打开"); button2=new JButton("关闭");
61 con.add(button1);con.add(button2);pack();
62 setVisible(true);
63 addWindowListener(new WindowAdapter()
64 { public void windowClosing(WindowEvent e)
65 {System.exit(0);}
66 });
67 }
68}
69class Mydialog extends JDialog //建立对话框类。
70{ JButton button1,button2;
71 Mydialog(JFrame F,String s) //构造方法。
72 { super(F,s);
73 button1=new JButton("open"); button2=new JButton("close");
74 setSize(90,90);setVisible(true);setModal(false);
75 Container con=getContentPane();con.setLayout(new FlowLayout());
76 con.add(button1);con.add(button2);
77 addWindowListener(new WindowAdapter()
78 { public void windowClosing(WindowEvent e)
79 {System.exit(0);}});
80 }
81}
82public class Example25_4 extends JApplet
83{ Dwindow window; Mydialog dialog; JButton button;
84 public void init()
85 { window=new Dwindow("带对话框窗口");//创建窗口。
86 dialog=new Mydialog(window,"我是对话框"); //创建依赖于窗口window的对话框。
87 button=new JButton("ok"); getContentPane().add(button);
88 }
89}
90
91//例子5
92import javax.swing.*;import java.awt.*;import java.awt.event.*;
93class Myframe extends JFrame implements ActionListener
94{ JButton button;JTextArea text;
95 Myframe()
96 { setSize(200,400);setVisible(true);
97 Container con=getContentPane();
98 con.setLayout(new FlowLayout());
99 button=new JButton("ok");text=new JTextArea(10,20);
100 con.add(button);con.add(text);
101 button.addActionListener(this);
102 addWindowListener(new WindowAdapter()
103 { public void windowClosing(WindowEvent e)
104 {System.exit(0);}});
105 }
106 public void actionPerformed(ActionEvent e)
107 { if(e.getSource()==button)
108 text.setText("i am a boy,and you?");
109 }
110}
111public class Example25_5
112{ public static void main(String args[])
113 { Myframe fr=new Myframe();fr.pack();
114 }
115}
116
117//例子6
118 import javax.swing.*; import java.awt.*;
119class Mycanvas extends JPanel
120{ public void paintComponent(Graphics g)
121 { super.paintComponent(g);
122 g.setColor(Color.red); g.drawString("a Jpanel used as canvas",50,50);
123 }
124}
125public class Example25_6 extends JApplet
126{ Mycanvas canvas; JPanel panel;JButton button;
127 public void init()
128 { canvas=new Mycanvas();panel=new JPanel();button=new JButton("ok");
129 panel.add(button); Container con=getContentPane();
130 con.add(panel,BorderLayout.NORTH); con.add(canvas,BorderLayout.CENTER);
131 }
132}
133
134//例子7
135import javax.swing.*;import java.awt.*;import java.awt.event.*;
136class Mywindow extends JFrame
137{ JButton button;JTextArea text;JScrollPane scroll;
138 Mywindow()
139 { setSize(200,400);setVisible(true);
140 Container con=getContentPane();
141 button=new JButton("ok");text=new JTextArea(10,20);
142 scroll=new JScrollPane(text);
143 con.add(button,BorderLayout.SOUTH);con.add(scroll,BorderLayout.CENTER);
144 addWindowListener(new WindowAdapter()
145 {public void windowClosing(WindowEvent e)
146 {System.exit(0);}});
147 }
148}
149public class Example25_7
150{ public static void main(String args[])
151 { Mywindow win=new Mywindow();win.pack();
152 }
153}
154
155//例子8
156import javax.swing.*;import java.awt.*;import java.awt.event.*;
157class Mywindow extends JFrame
158{ JButton button1,button2;JTextArea text;JSplitPane split_one,split_two;
159 Mywindow()
160 { setSize(200,400);setVisible(true); Container con=getContentPane();
161 button1=new JButton("ok"); button2=new JButton("No");
162 text=new JTextArea("I love you,java",10,20);
163 split_one=new JSplitPane(JSplitPane.VERTICAL_SPLIT,button1,button2);
164 split_two=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,split_one,text);
165 con.add(split_two,BorderLayout.CENTER);
166 addWindowListener(new WindowAdapter()
167 {public void windowClosing(WindowEvent e)
168 {System.exit(0);}});
169 }
170}
171public class Example25_8
172{ public static void main(String args[])
173 { Mywindow win=new Mywindow();win.pack();
174 }
175}
176
177//例子9
178import javax.swing.*;
179import java.awt.*;
180import java.awt.event.*;
181class Mywindow extends JFrame
182{ JButton button1,button2;
183 JInternalFrame interframe_1,
184 interframe_2;
185 Mywindow()
186 { setSize(200,200); setVisible(true);
187 Container con=getContentPane();
188 con.setLayout(new GridLayout(1,2));
189 button1=new JButton("Boy"); button2=new JButton("Girl");
190 interframe_1=
191 new JInternalFrame("内窗体1",true,true,true,true);
192 interframe_1.setSize(100,100);interframe_1.setVisible(true);
193 interframe_1.getContentPane().add(button1);
194 JDesktopPane desk1=new JDesktopPane();
195 desk1.add(interframe_1);
196 interframe_2=new JInternalFrame("内窗体2",true,true,true,true);
197 interframe_2.setSize(300,150);interframe_2.setVisible(true);
198 interframe_2.getContentPane().add(button2,BorderLayout.CENTER);
199 interframe_2.getContentPane().add(new JLabel("ookk"),BorderLayout.NORTH);
200 JDesktopPane desk2=new JDesktopPane();
201 desk2.add(interframe_2);
202 con.add(desk1);con.add(desk2);
203 addWindowListener(new WindowAdapter()
204 {public void windowClosing(WindowEvent e)
205 {System.exit(0);}});
206 }
207}
208public class Exam25_9
209{ public static void main(String args[])
210 { Mywindow win=new Mywindow();win.pack();
211 }
212}
213
214//例子10
215import javax.swing.*; import java.awt.*;
216import java.awt.event.*;
217class MyWin extends JFrame
218{ JButton b1,b2,b3;
219 public MyWin()
220 { setBounds(100,100,300,200); setVisible(true);
221 addWindowListener(new WindowAdapter()
222 { public void windowClosing(WindowEvent e)
223 { System.exit(0);
224 }
225 });
226 b1=new JButton("按钮1",new ImageIcon("f:/2000/a1.gif"));
227 b2=new JButton("按钮2",new ImageIcon("f:/2000/a2.gif"));
228 b3=new JButton("按钮3",new ImageIcon("f:/2000/a3.gif"));
229 b1.setRolloverIcon(b2.getIcon());
230 b2.setRolloverIcon(b3.getIcon());
231 b3.setRolloverIcon(b1.getIcon());
232 b1.setHorizontalTextPosition(AbstractButton.LEFT);
233 b1.setVerticalTextPosition(AbstractButton.TOP);
234 b2.setHorizontalTextPosition(AbstractButton.RIGHT);
235 b2.setVerticalTextPosition(AbstractButton.BOTTOM);
236 b3.setHorizontalTextPosition(AbstractButton.CENTER);
237 b3.setVerticalTextPosition(AbstractButton.CENTER);
238 Container con=getContentPane();
239 con.setLayout(new FlowLayout());
240 con.add(b1);con.add(b2); con.add(b3);
241 con.validate();
242 }
243}
244public class Example25_10
245{ public static void main(String args[])
246 { new MyWin();
247 }
248}
249
250//例子11
251import javax.swing.*;import java.awt.BorderLayout;
252import java.awt.event.*;import java.awt.*;
253public class Example25_11 extends JApplet implements ActionListener
254{ JLabel label_1,label_2;JButton button;JTextArea text;
255 public void init()
256 { button=new JButton("确定");text=new JTextArea();
257 Icon icon=new ImageIcon("tom.jpg");
258 label_1=new JLabel("标签1",icon,JLabel.CENTER);
259 label_2=new JLabel("标签2");
260 getContentPane().add(text,BorderLayout.CENTER);
261 getContentPane().add(button,BorderLayout.WEST);
262 getContentPane().add(label_1,BorderLayout.NORTH);
263 getContentPane().add(label_2,BorderLayout.SOUTH);
264 button.addActionListener(this);
265 }
266 public void actionPerformed(ActionEvent e)
267 { button.setIcon(label_1.getIcon());
268 label_1.setHorizontalTextPosition(JLabel.LEFT);
269 }
270 }
271
272//例子12
273import javax.swing.*;
274import java.awt.*;
275import java.awt.event.*;
276import javax.swing.border.*;
277class 候选人 extends JCheckBox
278{ int 得票数=0;
279 候选人(String name,Icon icon)
280 { super(name,icon);
281 }
282 public int 获取得票数()
283 { return 得票数;
284 }
285 public void 增加票数()
286 { 得票数++;
287 }
288}
289
290class MyWin extends JFrame implements ActionListener
291{ Box baseBox,boxH,boxV;
292 JTextArea text;
293 JButton button;
294 候选人 候选人1, 候选人2, 候选人3;
295 public MyWin()
296 { setBounds(100,100,300,200);
297 setVisible(true);
298 addWindowListener(new WindowAdapter()
299 { public void windowClosing(WindowEvent e)
300 { System.exit(0);
301 }
302 });
303 baseBox=Box.createHorizontalBox();
304 boxH=Box.createHorizontalBox();
305 boxV=Box.createVerticalBox();
306 候选人1=new 候选人("张小兵",new ImageIcon("a1.gif"));
307 候选人2=new 候选人("李大营",new ImageIcon("a2.gif"));
308 候选人3=new 候选人("王中堂",new ImageIcon("a3.gif"));
309 候选人1.setSelectedIcon(new ImageIcon("b1.gif"));
310 候选人2.setSelectedIcon(new ImageIcon("b2.gif"));
311 候选人3.setSelectedIcon(new ImageIcon("b3.gif"));
312 boxH.add(候选人1); boxH.add(候选人2); boxH.add(候选人3);
313 text=new JTextArea();
314 button=new JButton("显示得票数");
315 button.addActionListener(this);
316 boxV.add(text); boxV.add(button); baseBox.add(boxH);
317 baseBox.add(boxV);
318 Container con=getContentPane();
319 con.setLayout(new FlowLayout());
320 con.add(baseBox);
321 con.validate();
322 }
323 public void actionPerformed(ActionEvent e)
324 { text.setText(null);
325 if(候选人1.isSelected())
326 { 候选人1.增加票数();
327 }
328 if(候选人2.isSelected())
329 { 候选人2.增加票数();
330 }
331 if(候选人3.isSelected())
332 { 候选人3.增加票数();
333 }
334 text.append("\n"+候选人1.getText()+":"+候选人1.获取得票数());
335 text.append("\n"+候选人2.getText()+":"+候选人2.获取得票数());
336 text.append("\n"+候选人3.getText()+":"+候选人3.获取得票数());
337 候选人1.setSelected(false); 候选人2.setSelected(false);
338 候选人3.setSelected(false);
339 }
340}
341public class Example25_12
342{ public static void main(String args[])
343 { new MyWin();
344 }
345}
346
347//例子13
348import javax.swing.*;
349import java.awt.*;import java.awt.event.*;
350class Mywindow extends JFrame implements ItemListener
351{ JRadioButton button1,button2,button3;ButtonGroup fruit;
352 JLabel label ;JScrollPane scroll;JPanel panel;JSplitPane split;
353 Mywindow()
354 { setSize(200,400);setVisible(true);
355 Container con=getContentPane();
356 fruit=new ButtonGroup();
357 button1=new JRadioButton("苹果");
358 fruit.add(button1);
359 button2=new JRadioButton("香蕉");
360 fruit.add(button2);
361 button3=new JRadioButton("西瓜");
362 fruit.add(button3);
363 label=new JLabel();panel=new JPanel();
364 scroll=new JScrollPane(label);
365 panel.add(button1);panel.add(button2);panel.add(button3);
366 split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,panel, scroll);
367 con.add(split);
368 button1.addItemListener(this);button2.addItemListener(this);
369 button3.addItemListener(this);
370 addWindowListener(new WindowAdapter()
371 {public void windowClosing(WindowEvent e)
372 {System.exit(0);}});
373 }
374 public void itemStateChanged(ItemEvent e)
375 {if(e.getItemSelectable()==button1)
376 {label.setIcon(new ImageIcon("a.jpg")); }
377 else if(e.getItemSelectable()==button2)
378 {label.setIcon(new ImageIcon("b.jpg")); }
379 else if(e.getItemSelectable()==button3)
380 {label.setIcon(new ImageIcon("c.jpg")); }
381 }
382}
383public class Example25_13
384{ public static void main(String args[])
385 { Mywindow win=new Mywindow();win.pack();
386 }
387}
388
389//例子14
390import javax.swing.*;import java.awt.*;import java.awt.event.*; import java.net.*;
391public class Example25_14 extends JApplet implements ItemListener
392{ JComboBox choice1,choice2; JSplitPane split1,split2;
393 JLabel label; URL url;
394 public void init()
395 { Container con=getContentPane(); String[] s={"苹果", "香蕉" ,"西瓜"};
396 choice1=new JComboBox(s);choice2=new JComboBox();
397 label=new JLabel();choice2.setEditable(true);
398 split1=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,choice1,choice2);
399 split2=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true,split1,label);
400 choice1.addItemListener(this);choice2.addItemListener(this);con.add(split2);
401 }
402 public void itemStateChanged(ItemEvent e)
403 { if(e.getItemSelectable()==choice1)
404 { if(choice1.getSelectedIndex()==0)
405 { label.setIcon(new ImageIcon("a.jpg"));}
406 else if(choice1.getSelectedIndex()==1)
407 { label.setIcon(new ImageIcon("b.jpg")); }
408 else if(choice1.getSelectedIndex()==2)
409 {label.setIcon(new ImageIcon("c.jpg"));}
410 }
411 else if(e.getItemSelectable()==choice2)
412 { try{url=new URL((String)choice2.getSelectedItem());
413 label.setText("你正在连接到:"+choice2.getSelectedItem());
414 }
415 catch(MalformedURLException g)
416 { label.setText("不正确的URL:"+url);
417 }
418 getAppletContext().showDocument(url);
419 }
420 }
421}
422
423//例子15
424import javax.swing.*;
425import javax.swing.text.*;
426import java.awt.*;
427class DigitDocumnet extends PlainDocument
428{ public void insertString(int offset ,String s,AttributeSet a)
429 { char c=s.charAt(0);
430 if ((c<='9'&&c>='0')||(c=='.'))
431 { try {super.insertString(offset,s,a);}
432 catch(BadLocationException e){}
433 }
434 }
435}
436public class DigitText extends JApplet
437{ JTextField text=null;
438 DigitDocumnet document=new DigitDocumnet();
439 public void init()
440 { text=new JTextField(30);
441 Container con= getContentPane();
442 con.setLayout(new FlowLayout());
443 text.setDocument(document);
444 con.add(text);
445 }
446}
447
448//例子16
449import javax.swing.*;
450import javax.swing.text.*;
451import java.awt.*;
452public class Example25_16 extends JApplet
453{ JTextPane textpane;
454 public void init()
455 { textpane=new JTextPane();//创建文本窗格。
456 getContentPane().add(textpane);
457 }
458}
459
460//例子17
461import javax.swing.*;import javax.swing.text.*;
462import java.awt.*;
463public class Example25_17 extends JApplet
464 { JTextPane textpane;
465 MutableAttributeSet center_align,char_style;
466 public void init()
467 { textpane=new JTextPane();//创建文本窗格。
468JScrollPane scroll=
469new ScrollPane(textpane,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
470 JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
471 center_align=new SimpleAttributeSet();
472 char_style=new SimpleAttributeSet(); //创建属性对象。
473 StyleConstants.setAlignment(center_align,StyleConstants.ALIGN_CENTER);
474 StyleConstants.setFontFamily( char_style,"Serif");
475 StyleConstants.setFontSize(char_style,70);
476 StyleConstants.setForeground(char_style,Color.red);//为属性对象指定值
477 textpane.setParagraphAttributes(center_align,true);//文本窗格设置文本的属性
478 textpane.setCharacterAttributes(char_style,true);
479 getContentPane().add(scroll);
480 }
481}
482
483//例子18
484import javax.swing.*;import javax.swing.text.*;
485import java.awt.*;
486public class Example25_18 extends JApplet
487{ JTextPane textpane;
488 MutableAttributeSet center_align,char_style_1,char_style_2;
489 public void init()
490 { textpane=new JTextPane();//创建文本窗口
491 JScrollPane scroll=new
492 JScrollPane(textpane,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
493 JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
494 Document mydocument=textpane.getDocument();//初始化一个文档。
495 center_align=new SimpleAttributeSet();
496 char_style_1=new SimpleAttributeSet();
497 char_style_2=new SimpleAttributeSet();
498 StyleConstants.setAlignment(center_align,StyleConstants.ALIGN_CENTER);
499 StyleConstants.setFontFamily( char_style_1,"Courier");
500 StyleConstants.setFontSize(char_style_1,20);
501 StyleConstants.setForeground(char_style_1,Color.red);
502 StyleConstants.setFontFamily( char_style_2,"Serif");
503 StyleConstants.setFontSize(char_style_2,14);
504 StyleConstants.setForeground(char_style_2,Color.blue);
505 textpane.setParagraphAttributes(center_align,true);
506 textpane.setCharacterAttributes(char_style_1,true);
507 try{ textpane.insertIcon(new ImageIcon("a.jpg"));
508 mydocument.insertString(mydocument.getLength(),"Lovely Apple\n",char_style_1);
509 }
510 catch(BadLocationException e) {}
511 textpane.setParagraphAttributes(center_align,true);
512 textpane.setCharacterAttributes(char_style_2,true);
513 try{ mydocument.insertString(mydocument.getLength(),
514 "I Want It\n",char_style_2);
515 }
516 catch(BadLocationException e) {}
517 getContentPane().add(scroll);
518 }
519}
520
521//例子19
522import javax.swing.*;
523import javax.swing.text.*;
524import java.awt.*;import java.io.*;
525public class Example25_19 extends JApplet
526{ JTextPane textpane;FileInputStream readfile;
527 public void init()
528 { textpane=new JTextPane();//创建文本窗口
529 JScrollPane scroll=new JScrollPane(textpane);
530 try{ readfile=new FileInputStream("Example25_19.java");
531 }
532 catch(IOException ee){}
533 try{textpane.read(readfile,this);
534 }
535 catch(Exception e)
536 {}
537 getContentPane().add(scroll);
538 }
539}
540
541//例子20
542import javax.swing.*;import java.awt.*;
543import java.awt.event.*;import java.io.*;
544class FileWin extends JFrame implements ActionListener
545{ JButton button; JTextArea text;JTextPane textpane;FileInputStream readfile;
546 JScrollPane scroll;Container con;
547 JFileChooser chooser=new JFileChooser();
548 FileWin()
549 { super("有文件选择器的窗口");
550 button=new JButton("打开文件选取器");
551 button.addActionListener(this);
552 textpane=new JTextPane();
553 scroll=new JScrollPane(textpane);
554 setSize(200,200); setVisible(true);
555 addWindowListener(new WindowAdapter()
556 {public void windowClosing(WindowEvent e)
557 { System.exit(0);}} );
558 con=getContentPane();con.add(button,BorderLayout.NORTH);
559 con.add(scroll,BorderLayout.CENTER);
560 }
561 public void actionPerformed(ActionEvent e)
562 {if(e.getSource()==button)
563 {String s;
564 int state=chooser.showOpenDialog(null);
565 File file=chooser.getSelectedFile();
566 if(file!=null&&state==JFileChooser.APPROVE_OPTION)
567 { try{ readfile=new FileInputStream(file); //建立到文件的输入流。
568 }
569 catch(IOException ee){}
570 try{ textpane.read(readfile,this);//从流中读取数据。
571 }
572 catch(IOException e1){}
573 }
574 }
575 }
576}
577public class Example25_20
578{public static void main(String args[])
579 {FileWin Win=new FileWin(); Win.pack(); }
580}
581
582//例子21
583import javax.swing.*;
584import java.awt.*;import java.awt.event.*;
585class TimeWin extends JFrame implements ActionListener
586{ static JTextArea text1,text2; Boy boy=new Boy();
587 JScrollPane scroll_1,scroll_2;Container con;
588 Timer time_1,time_2 ; //声明2个计时器对象。
589 JSplitPane splitpane;
590 TimeWin()
591 {super("有计时器窗口");
592 time_1=new Timer(1000,this);//TimeWin对象做计时器的监视器。
593 time_2=new Timer(2000,boy);//Boy对象做计时器的监视器。
594 text1=new JTextArea(); text2=new JTextArea();
595 scroll_1=new JScrollPane(text1);
596 scroll_2=new JScrollPane(text2);
597 splitpane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,scroll_1,
598 scroll_2);
599 setSize(200,200);
600 setVisible(true);
601 con=getContentPane();con.add(splitpane);
602 time_1.start();time_2.start();//启动计时器。
603 addWindowListener(new WindowAdapter()
604 {public void windowClosing(WindowEvent e)
605 { System.exit(0);}} );
606 }
607 public void actionPerformed(ActionEvent e)
608 {text1.append("欢迎光临!"+"\n"); }
609}
610class Boy implements ActionListener
611{ public void actionPerformed(ActionEvent e)
612 { TimeWin.text2.append("再见!"+"\n"); }
613}
614public class Example25_21
615{public static void main(String args[])
616 {TimeWin Win=new TimeWin(); Win.pack(); }
617}
618
619//例子22
620import javax.swing.*;import java.awt.*;
621import java.awt.event.*;
622class BarWin extends JFrame implements ActionListener
623{ Timer time_1; int sum=0,i=1;
624 JProgressBar p_bar;Container con;
625 BarWin()
626 {super("窗口");
627 time_1=new Timer(1000,this);//TimeWin对象做计时器的监视器,每
628 //1000毫秒震铃一次。
629 p_bar=new JProgressBar(0,55);
630 p_bar.setBackground(Color.white);
631 p_bar.setStringPainted(true);
632 setSize(200,200);
633 setVisible(true);
634 con=getContentPane();con.add(p_bar,BorderLayout.NORTH);
635 time_1.start();
636 addWindowListener(new WindowAdapter()
637 {public void windowClosing(WindowEvent e)
638 { System.exit(0);}} );
639 }
640 public void actionPerformed(ActionEvent e)
641 { sum=sum+i;
642 p_bar.setValue(sum);//吃掉sum/55
643 i=i+1;
644 if(sum>=55)
645 time_1.stop();
646 }
647}
648public class Example25_22
649{public static void main(String args[])
650 {BarWin Win=new BarWin(); Win.pack(); }
651}
652
653//例子23
654import javax.swing.*;
655import java.io.*;import java.awt.*;import java.awt.event.*;
656public class Example25_23
657{ public static void main(String args[])
658 { byte b[]=new byte[30];
659 JTextArea text=new JTextArea(20,20);
660 JFrame jframe=new JFrame();
661 jframe.setSize(200,300);jframe.setBackground(Color.blue);
662 jframe.setVisible(true);
663 jframe.addWindowListener(new WindowAdapter()
664 {public void windowClosing(WindowEvent e)
665 {System.exit(0);} });
666 Container contentpane=jframe.getContentPane();
667 contentpane.add(text,BorderLayout.CENTER);
668
669 try{ FileInputStream input=new FileInputStream("Example25_23.java");
670 ProgressMonitorInputStream input_progress=
671 new ProgressMonitorInputStream(contentpane,"读取java文件",input);
672 ProgressMonitor p=input_progress.getProgressMonitor();//获得进度条。
673 while(input_progress.read(b)!=-1)
674 { String s=new String(b);
675 text.append(s);
676 Thread.sleep(1000);//由于文件较小,为了看清进度条这里有意延缓1秒。
677 }
678 }
679 catch(InterruptedException e){}
680 catch(IOException e){}
681 }
682}
683
684//例子24
685import javax.swing.*;import java.awt.*;
686import java.awt.event.*;
687public class Example25_24 extends JFrame implements ActionListener
688{ JTable table;Object a[][];
689 Object name[]={"姓名","英语成绩","数学成绩","总成绩"};
690 JButton button;
691 Example25_24()
692 { a=new Object[8][4];
693 for(int i=0;i<8;i++)
694 { for(int j=0;j<4;j++)
695 {if(j!=0)
696 a[i][j]="0";
697 else
698 a[i][j]="姓名";
699 }
700 }
701 button=new JButton("计算每人总成绩");
702 table=new JTable(a,name);
703 button.addActionListener(this);
704 getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);
705getContentPane().add(new JLabel("修改或录入数据后,需回车确认"),BorderLayout.SOUTH);
706 getContentPane().add(button,BorderLayout.SOUTH);
707 setSize(200,200);
708 setVisible(true);
709 validate();
710 addWindowListener(new WindowAdapter()
711 {public void windowClosing(WindowEvent e)
712 { System.exit(0);
713 }
714 });
715 }
716 public void actionPerformed(ActionEvent e)
717 { for(int i=0;i<8;i++)
718 { double sum=0;
719 boolean boo=true;
720 for(int j=1;j<=2;j++)
721 { try{
722 sum=sum+Double.parseDouble(a[i][j].toString());
723 }
724 catch(Exception ee)
725 {
726 boo=false;
727 table.repaint();
728 }
729 if(boo==true)
730 {
731 a[i][3]=""+sum;
732 table.repaint();
733 }
734 }
735 }
736 }
737 public static void main(String args[])
738 { Example25_24 Win=new Example25_24();
739 }
740}
741
742//例子25
743import javax.swing.*;
744import java.awt.event.*;
745import java.sql.*;
746import java.awt.*;
747 class ResultWin extends JFrame implements ActionListener
748{ Object a[][];
749 Object columnName[]={"学号","姓名","出生日期","数学","物理","英语"};
750 JTable table;JButton button;
751 Container container;
752 String name,xuehao;Date date; int math,physics,english;
753 Connection con;Statement sql; ResultSet rs;
754 JProgressBar p_bar;
755 ResultWin()
756 { super("数据查询");
757 a=new Object[30][6];
758 table=new JTable(a,columnName);
759 setSize(300,300);setVisible(true);
760 button=new JButton("确定");
761 addWindowListener(new WindowAdapter()
762 {public void windowClosing(WindowEvent e)
763 { System.exit(0);}} );
764 button.addActionListener(this);
765 p_bar=new JProgressBar(JProgressBar.VERTICAL,0,50);
766 p_bar.setStringPainted(true) ;
767 container=getContentPane();
768 container.add(button,BorderLayout.SOUTH);
769 container.add(new JScrollPane(table),BorderLayout.CENTER);
770 container.add(p_bar,BorderLayout.WEST);
771 }
772 public void actionPerformed(ActionEvent evt)
773 {if(evt.getSource()==button)
774 {int i=0;
775 try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }
776 catch(ClassNotFoundException e){}
777 try
778{con=DriverManager.getConnection("jdbc:odbc:redsun","snow","ookk");
779 sql=con.createStatement();
780 rs=sql.executeQuery("SELECT * FROM chengjibiao");
781 while(rs.next())
782 { xuehao=rs.getString(1); name=rs.getString(2);date=rs.getDate(3);
783 math=rs.getInt("数学"); physics=rs.getInt("物理");english=rs.getInt("英语");
784 a[i][0]=xuehao;a[i][1]=name;a[i][2]=date;a[i][3]=String.valueOf(math);
785 a[i][4]=String.valueOf(physics);a[i][5]=String.valueOf(english);
786 i++;
787 p_bar.setValue(i);p_bar.setString("查询了"+i+"条记录");
788 }
789 con.close();
790 }
791 catch(SQLException e1) {}
792 }
793 }
794}
795public class Example25_25
796{ public static void main(String args[])
797 {ResultWin win=new ResultWin(); win.pack(); }
798}
799
800//例子26
801import javax.swing.*;
802import java.awt.*;
803import java.awt.event.*;
804public class Example24_26 extends JApplet
805{ Container con;
806 public void init()
807 {con=getContentPane();
808 JMenuBar menubar=new JMenuBar();
809 con.add(menubar,BorderLayout.NORTH);
810 JMenu fileMenu=new JMenu("文件");
811 JMenu editMenu=new JMenu("编辑");
812 JMenu helpMenu=new JMenu("帮助");
813 JMenuItem item1=new JMenuItem("打开");
814 JMenuItem item2=new JMenuItem("保存"); //创建6个菜单项。
815 fileMenu.add(item1); fileMenu.add(item2);
816 menubar.add(fileMenu); menubar.add(editMenu);
817 menubar.add(helpMenu);
818 }
819}
820
821//例子27
822import javax.swing.*;import java.awt.*;
823import java.awt.event.*;
824class ToolWin extends JFrame implements ActionListener
825{ JButton button1,button2; JToolBar bar; Container con;
826 ToolWin()
827 {con=getContentPane();
828 setSize(300,250);setVisible(true);
829 Icon open_icon =new ImageIcon("open.gif");
830 Icon save_icon =new ImageIcon("save.gif");
831 button1=new JButton(open_icon); button2=new JButton(save_icon);
832 bar=new JToolBar();//工具条对象
833 bar.add(button1);bar.add(button2);
834 con.add(bar,BorderLayout.NORTH);
835 button1.addActionListener(this);
836 button1.setToolTipText("open");//设置组件的提示文字
837 button2.setToolTipText("save");
838 }
839 public void actionPerformed(ActionEvent e)
840 {if(e.getSource()==button1)
841 {JFileChooser c=new JFileChooser();
842 c.showOpenDialog(null);
843 }
844 }
845}
846public class Example25_27
847{static void main(String args[])
848 {ToolWin win=new ToolWin() ;win.pack();}
849}
850
851//例子28
852import javax.swing.*;import javax.swing.tree.*;
853import java.awt.*;
854public class Mytree extends JApplet
855{ public void init()
856 {Container con=getContentPane();
857 DefaultMutableTreeNode root=new DefaultMutableTreeNode("c:\\");//树的根节点。
858 DefaultMutableTreeNode t1=new DefaultMutableTreeNode("dos");//节点。
859 DefaultMutableTreeNode t2=new DefaultMutableTreeNode("java");//节点。
860 DefaultMutableTreeNode t1_1=new DefaultMutableTreeNode("applet");
861 DefaultMutableTreeNode t1_2=new DefaultMutableTreeNode("jre");
862 root.add(t1);root.add(t2);
863 t1.add(t1_1);t1.add(t1_2);//t1_1,t1_2成为t1的子节点。
864 JTree tree =new JTree(root); //创建根为root的树。
865 JScrollPane scrollpane=new JScrollPane(tree);
866 con.add(scrollpane);
867 }
868}
869
870//例子29
871import javax.swing.*;
872import javax.swing.tree.*;import java.awt.*;
873import java.awt.event.*;import javax.swing.event.*;
874public class Mytree2 extends JFrame implements TreeSelectionListener
875{ JTree tree=null;JTextArea text=new JTextArea(20,20);
876 Mytree2()
877 {Container con=getContentPane();
878 DefaultMutableTreeNode root=new DefaultMutableTreeNode("同学通讯录");
879 DefaultMutableTreeNode t1=new DefaultMutableTreeNode("大学同学");
880 DefaultMutableTreeNode t2=new DefaultMutableTreeNode("研究生同学");
881 DefaultMutableTreeNode t1_1=new DefaultMutableTreeNode("董明光");
882 DefaultMutableTreeNode t1_2=new DefaultMutableTreeNode("李晓");
883 DefaultMutableTreeNode t2_1=new DefaultMutableTreeNode("王光明");
884 DefaultMutableTreeNode t2_2=new DefaultMutableTreeNode("代学才");
885 root.add(t1);root.add(t2);
886 t1.add(t1_1);t1.add(t1_2); t2.add(t2_1);t2.add(t2_2);
887 tree =new JTree(root);
888 JScrollPane scrollpane=new JScrollPane(text);
889 JSplitPane splitpane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
890 true,tree,scrollpane);
891 tree.addTreeSelectionListener(this);
892 con.add(splitpane);
893 addWindowListener(new WindowAdapter()
894 { public void windowClosing(WindowEvent e)
895 {System.exit(0);} });
896 setVisible(true);setBounds(70,80,200,300);
897 }
898 public void valueChanged(TreeSelectionEvent e)
899 { if(e.getSource()==tree)
900 {DefaultMutableTreeNode node=
901 (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
902 if(node.isLeaf())
903 { String str=node.toString();
904 if(str.equals("董明光"))
905 {text.setText(str+":联系电话:0411-4209876");}
906 else if(str.equals("李晓"))
907 {text.setText(str+":联系电话:010-62789876");}
908 else if(str.equals("王光明"))
909 {text.setText(str+":联系电话:0430-63596677");}
910 else if(str.equals("代学才"))
911 {text.setText(str+":联系电话:020-85192789");}
912 }
913 else
914 {text.setText(node.getUserObject().toString());
915 }
916 }
917 }
918}
919class Example25_29
920{public static void main(String args[])
921 { Mytree2 win=new Mytree2();win.pack();}
922}
923
924//例子30
925import javax.swing.*;import javax.swing.tree.*;
926import java.awt.*;
927public class Mytree3 extends JApplet
928{ public void init()
929 {Container con=getContentPane();
930 DefaultMutableTreeNode root=new DefaultMutableTreeNode("c:\\");//树的根节点。
931 DefaultMutableTreeNode t1=new DefaultMutableTreeNode("dos");//节点。
932 DefaultMutableTreeNode t2=new DefaultMutableTreeNode("java");//节点。
933 DefaultMutableTreeNode t1_1=new DefaultMutableTreeNode("wps");
934 DefaultMutableTreeNode t1_2=new DefaultMutableTreeNode("epg");
935 DefaultMutableTreeNode t2_1=new DefaultMutableTreeNode("applet");
936 DefaultMutableTreeNode t2_2=new DefaultMutableTreeNode("jre");
937 root.add(t1);root.add(t2);
938 t1.add(t1_1);t1.add(t1_2);
939 t2.add(t2_1);t2.add(t2_2);
940 JTree tree =new JTree(root); //创建根为root的树。
941 DefaultTreeCellRenderer render=new DefaultTreeCellRenderer();
942 render.setLeafIcon(new ImageIcon("leaf.gif"));
943 render.setBackground(Color.yellow);
944 render.setClosedIcon(new ImageIcon("close.gif"));
945 render.setOpenIcon(new ImageIcon("open.gif"));
946 render.setTextSelectionColor(Color.red);
947 render.setTextNonSelectionColor(Color.green);
948 render.setFont(new Font("TimeRoman",Font.BOLD,16));
949 tree.setCellRenderer(render);
950 JScrollPane scrollpane=new JScrollPane(tree);
951 con.add(scrollpane);
952 }
953}
954
955//例子31
956import javax.swing.*;
957import javax.swing.tree.*;
958import java.awt.*;
959import java.awt.event.*;
960import java.io.*;import java.util.*;
961class Classmate extends JFrame
962{ JTree tree=null; DefaultMutableTreeNode root;
963 BufferedReader in; FileReader file;
964 Classmate()
965 { Container con=getContentPane();
966 String s=null;
967 try { File f=new File("通讯录.txt");
968 file=new FileReader(f);
969 in=new BufferedReader(file);
970 }
971 catch(FileNotFoundException e){}
972 try { s=in.readLine(); //读取第一行并用它创建根节点。
973 root=new DefaultMutableTreeNode(s);
974 }
975 catch(IOException exp){}
976 try
977 { while((s=in.readLine())!=null&&(s.startsWith("%")))
978 { s=in.readLine();
979 DefaultMutableTreeNode 同学种类=new DefaultMutableTreeNode(s);
980 root.add(同学种类);
981 while((s=in.readLine())!=null&&!(s.startsWith("end")))
982 { StringTokenizer tokenizer=new StringTokenizer(s,"#");
983 String temp=tokenizer.nextToken();
984 DefaultMutableTreeNode 同学种类_姓名
985 =new DefaultMutableTreeNode(temp);
986 同学种类.add(同学种类_姓名);
987 while(tokenizer.hasMoreTokens())
988 {
989 同学种类_姓名.add(new DefaultMutableTreeNode(tokenizer.nextToken()));
990 }
991 }
992 }
993 }
994 catch(IOException exp){}
995 tree =new JTree(root);
996 JScrollPane scrollpane=new JScrollPane(tree);
997 con.add(scrollpane);
998 addWindowListener(new WindowAdapter()
999 { public void windowClosing(WindowEvent e)
1000 {System.exit(0);} });
1001 setVisible(true);setBounds(70,80,200,300);
1002 }
1003 }
1004public class Example31
1005{ public static void main(String args[])
1006 { Classmate win=new Classmate();win.pack();}
1007}
1008
1009//例子32
1010import javax.swing.*;
1011import javax.swing.tree.*;
1012import java.awt.*;
1013import java.awt.event.*;
1014import javax.swing.event.*;
1015import java.io.*;
1016class Remember extends JFrame implements TreeSelectionListener,ActionListener
1017{ JTree tree=null;JTextArea text=new JTextArea(" ",20,20);int i=0;
1018 DefaultMutableTreeNode root;JButton b_save=new JButton("保存日志"),
1019 b_del=new JButton("删除日志");
1020 DefaultMutableTreeNode month[]=new DefaultMutableTreeNode[13];
1021 Remember()
1022 { Container con=getContentPane();
1023 DefaultMutableTreeNode root=new DefaultMutableTreeNode("日历记事本");
1024 for(i=1;i<=12;i++)
1025 { month[i]=new DefaultMutableTreeNode(""+i+"月");
1026 root.add(month[i]);
1027 }
1028 for(i=1;i<=12;i++)
1029 { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
1030 { for(int j=1;j<=31;j++)
1031 month[i].add(new DefaultMutableTreeNode(j+"日"));
1032 }
1033 else if(i==4||i==6||i==9||i==11)
1034 { for(int j=1;j<=30;j++)
1035 month[i].add(new DefaultMutableTreeNode(j+"日"));
1036 }
1037 else
1038 { for(int j=1;j<=28;j++)
1039 month[i].add(new DefaultMutableTreeNode(j+"日"));
1040 }
1041 }
1042 b_save.addActionListener(this); b_del.addActionListener(this);
1043 tree =new JTree(root);
1044 JPanel p=new JPanel();p.setLayout(new BorderLayout());
1045 JScrollPane scrollpane_1=new JScrollPane(text);
1046 p.add(scrollpane_1,BorderLayout.CENTER);
1047 JPanel p_1=new JPanel();p_1.add(b_save);p_1.add(b_del);
1048 p.add(p_1,BorderLayout.NORTH);
1049 JScrollPane scrollpane_2=new JScrollPane(tree);
1050 JSplitPane splitpane=
1051 new SplitPane(JSplitPane.HORIZONTAL_SPLIT,true,scrollpane_2,p);
1052 tree.addTreeSelectionListener(this);
1053 con.add(splitpane);
1054 addWindowListener(new WindowAdapter()
1055 { public void windowClosing(WindowEvent e)
1056 {System.exit(0);
1057 }
1058 });
1059 setVisible(true);setBounds(70,80,200,300);
1060 }
1061 public void valueChanged(TreeSelectionEvent e)
1062 { text.setText(" ");
1063 if(e.getSource()==tree)
1064 { DefaultMutableTreeNode node=
1065 (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
1066 if(node.isLeaf())
1067 { String str=node.toString();
1068 for(int i=0;i<=12;i++)
1069 { if(node.getParent()==month[i])
1070 { try
1071 { String temp=null;
1072 File f=new File(node.getParent().toString()+str+".txt");
1073 FileReader file=new FileReader(f);
1074 BufferedReader in=new BufferedReader(file);
1075 while((temp=in.readLine())!=null)
1076 text.append(temp+'\n');
1077 file.close();in.close();
1078 }
1079 catch(FileNotFoundException e1){}
1080 catch(IOException e1){}
1081 }
1082 }
1083 }
1084 }
1085 }
1086 public void actionPerformed(ActionEvent e)
1087 { if(e.getSource()==b_save)
1088 { DefaultMutableTreeNode node=
1089 (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
1090 String str=node.toString();
1091 if(node.isLeaf())
1092 { try
1093 { File f=new File(node.getParent().toString()+str+".txt");
1094 FileWriter tofile=new FileWriter(f);
1095 BufferedWriter out=new BufferedWriter(tofile);
1096 out.write(text.getText(),0,(text.getText()).length());
1097 out.flush();
1098 tofile.close();out.close();
1099 }
1100 catch(FileNotFoundException e1){}
1101 catch(IOException e1){}
1102 }
1103 }
1104 else if(e.getSource()==b_del)
1105 { DefaultMutableTreeNode node=
1106 (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
1107 String str=node.toString();
1108 if(node.isLeaf())
1109 {
1110 File f=new File(node.getParent().toString()+str+".txt");
1111 f.delete();
1112 }
1113 }
1114 }
1115}
1116public class Example25_32
1117{ public static void main(String args[])
1118 { Remember win=new Remember();win.pack();
1119 }
1120}
1121