Swing-02.pdf

Similar documents
java2d-4.PDF


ZW1.PDF

Chapter 9: Objects and Classes

PowerPoint 簡報

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

Microsoft Word - Broker.doc

chp6.ppt

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

EJB-Programming-4-cn.doc

Microsoft Word - 投影片ch23

Chapter 9: Objects and Classes

Microsoft Word - 01.DOC

Chapter 9: Objects and Classes

JavaIO.PDF

Chapter 9: Objects and Classes

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

第1章

Topic

Microsoft PowerPoint - ch02

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

(CIP) Web /,. :, ISBN X.W T P393.4 CIP (2004) Web ( ) ( / ) : * 787

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

2009年9月全国计算机等级考试二级Java真题及答案

《大话设计模式》第一章

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

untitled

[Short Essay:] 1. (5 points) Use state-of-memory diagram to describe the differences between x and y declared as follows: double[] x = new double[4];

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

基于CDIO一体化理念的课程教学大纲设计

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

利用Java技术编写桌面软件基础

untitled

Microsoft PowerPoint - course2.ppt

javaexample-02.pdf

(京)新登字063号

untitled

mvc

untitled

untitled

基于JAVA的连连看游戏设计

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

<4D F736F F F696E74202D20B5DA37D5C2204A617661B5C4CDBCD0CED3EBD3C3BBA7BDE7C3E62E BBCE6C8DDC4A3CABD5D>

untitled

untitled

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

EJB-Programming-3.PDF

Learning Java

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

<4D F736F F F696E74202D C DB5DA3132D5C25FCDBCD0CED3C3BBA7BDE7C3E6BBF9B4A12E BBCE6C8DDC4A3CABD5D>

FileMaker 16 ODBC 和 JDBC 指南

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

概述

<4D F736F F D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

Microsoft Word - 第13章.doc

chp11.ppt

1.3 最终效果图 : 2 内部布局代码 2.1 按键按钮代码 // 初始化计算器上键的按钮, 将键放在一个画板内 JPanel keypanel = new JPanel(); // 用网格布局器,4 行,5 列的网格, 网格之间的水平方向间隔为 3 个象素, 垂直方向间隔为 3 个象素 keyp

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

Java

图形学 Project 2 要求 任意两个多边形, 求出其相交的区域 使用说明 例 1 第一步, 与 Project 1 画多边形的方法相同, 画一个多边形 ; 第二步, 单击 INTERSECT WITH, 随后画出第二个多边形 ; 第三步, 单击 FILL 进行填充

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2.

Microsoft PowerPoint ppt

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

epub83-1

2 Java 语 言 程 序 设 计 教 程 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

chp9.ppt

ebook 86-15

untitled

使用MapReduce读取XML文件

<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

untitled

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

(6) 要 求 付 款 管 理 员 从 预 订 表 中 查 询 距 预 订 的 会 议 时 间 两 周 内 的 预 定, 根 据 客 户 记 录 给 满 足 条 件 的 客 户 发 送 支 付 余 款 要 求 (7) 支 付 余 款 管 理 员 收 到 客 户 余 款 支 付 的 通 知 后, 检

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

Adobe® Flash® 的 Adobe® ActionScript® 3.0 程式設計

Microsoft PowerPoint - ch03

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

PowerPoint 簡報

ex

<4D F736F F D20AC4FBDBDA4FBB67DA96CAABA2DA743A67EAFC5AAA95FA7B9BD5A5F2E646F63>

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

Microsoft PowerPoint - course8.ppt

while ((ch = fr.read())!= -1) { System.out.print((char) ch); fr.close(); 例 3: 用 BufferedReader 读 TXT 文件 public class FileReaderDemo3 { public static v

視窗程式設計

JBuilder Weblogic

Microsoft Word - Java全文.doc

D C 93 2

目 录 实 验 一 : 熟 悉 Java 开 发 环 境... 1 实 验 二 : 类 与 面 向 对 象... 7 实 验 三 : 继 承 和 多 态 实 验 四 : 异 常 处 理 实 验 五 : 流 文 件 及 基 于 文 本 的 应 用... 23

附录J:Eclipse教程

範本檔

Microsoft Word - Java程序设计全文_终_.doc

天仁期末個人報告1.PDF

1.5招募说明书(草案)

untitled


FileMaker 15 ODBC 和 JDBC 指南

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

Transcription:

2 J B u t t o n J T e x t F i e l d J L i s t B u t t o n T e x t F i e l d L i s t J F r a m e 21

2 2 Swing C a n v a s C o m p o n e n t J B u t t o n AWT // ToolbarFrame1.java // java.awt.button // ToolbarFrame2.java Button JButton // import java.awt.*; import java.awt.event.*; public class ToolbarFrame1 extends Frame implements ActionListener { Button cutbutton, copybutton, pastebutton; public ToolbarFrame1() { super("toolbar Example (AWT)"); setsize(450, 250); addwindowlistener(new BasicWindowMonitor()); Panel toolbar = new Panel(); toolbar.setlayout(new FlowLayout(FlowLayout.LEFT));

2 3 cutbutton = new Button("Cut"); cutbutton.addactionlistener(this); toolbar.add(cutbutton); copybutton = new Button("Copy"); copybutton.addactionlistener(this); toolbar.add(copybutton); pastebutton = new Button("Paste"); pastebutton.addactionlistener(this); toolbar.add(pastebutton); // BorderLayout add add(toolbar, BorderLayout.NORTH); public void actionperformed(actionevent ae) { System.out.println(ae.getActionCommand()); public static void main(string args[]) { ToolbarFrame1 tf1 = new ToolbarFrame1(); tf1.setvisible(true); W i n d o w A d a p t e r import java.awt.event.*; import java.awt.window; public class BasicWindowMonitor extends WindowAdapter { public void windowclosing(windowevent e) { Window w = e.getwindow(); w.setvisible(false); w.dispose(); System.exit(0);

2 4 Swing Swing C L A S S P A T H C L A S S P A T H import javax.swing.*; B u t t o n J B u t t o n // ToolbarFrame2.java // Swing // import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ToolbarFrame2 extends Frame implements ActionListener {

2 5 // JButton JButton cutbutton, copybutton, pastebutton; JButton winbutton, javabutton, motifbutton; public ToolbarFrame2() { super("toolbar Example (Swing)"); setsize(450, 250); addwindowlistener(new BasicWindowMonitor()); // JPanel Panel JPanel toolbar = new JPanel(); toolbar.setlayout(new FlowLayout(FlowLayout.LEFT)); cutbutton = new JButton("Cut"); cutbutton.addactionlistener(this); toolbar.add(cutbutton); copybutton = new JButton("Copy"); copybutton.addactionlistener(this); toolbar.add(copybutton); pastebutton = new JButton("Paste"); pastebutton.addactionlistener(this); toolbar.add(pastebutton); add(toolbar, BorderLayout.NORTH); // BorderLayout add // JPanel lnfpanel = new JPanel(); LnFListener lnflistener = new LnFListener(this); javabutton = new JButton("Metal"); javabutton.addactionlistener(lnflistener); lnfpanel.add(javabutton); motifbutton = new JButton("Motif"); motifbutton.addactionlistener(lnflistener); lnfpanel.add(motifbutton); winbutton = new JButton("Windows"); winbutton.addactionlistener(lnflistener); lnfpanel.add(winbutton); add(lnfpanel, BorderLayout.SOUTH);

2 6 Swing public void actionperformed(actionevent ae) { System.out.println(ae.getActionCommand()); public static void main(string args[]) { ToolbarFrame2 tf2 = new ToolbarFrame2(); tf2.setvisible(true); B u t t o n J B u t t o n J B u t t o n L n F L i s t e n e r U I M a n a g e r. s e t L o o k A n d F e e l ( ) S w i n g U t i l i t i e s. u p d a t e C o m p o n e n t T r e e U I ( ) // LnFListener.java // listener actioncommand ActionEvent // // * Metal // * Windows // * Motif // import java.awt.*; import java.awt.event.*; import javax.swing.*; public class LnFListener implements ActionListener { Frame frame; public LnFListener(Frame f) { frame = f; public void actionperformed(actionevent e) { String lnfname = null; if (e.getactioncommand().equals("metal")) { lnfname = "javax.swing.plaf.metal.metallookandfeel";

2 7 else if (e.getactioncommand().equals("motif")) { lnfname = "com.sun.java.swing.plaf.motif.motiflookandfeel"; else { lnfname = "com.sun.java.swing.plaf.windows.windowslookandfeel"; try { UIManager.setLookAndFeel(lnfName); SwingUtilities.updateComponentTreeUI(frame); catch (UnsupportedLookAndFeelException ex1) { System.err.println("Unsupported LookAndFeel: " + lnfname); catch (ClassNotFoundException ex2) { System.err.println("LookAndFeel class not found: " + lnfname); catch (InstantiationException ex3) { System.err.println("Could not load LookAndFeel: " + lnfname); catch (IllegalAccessException ex4) { System.err.println("Cannot use LookAndFeel: " + lnfname); J B u t t o n A c t i o n E v e n t a c t i o n P e r f o r m e d ( )

2 8 Swing J B u t t o n P a n e l F r a m e P a n e l J P a n e l P a n e l J P a n e l F r a m e F r a m e J F r a m e a d d ( ) J F r a m e J F r a m e J F r a m e getcontentpane().add(something); // add(something) J F r a m e J P a n e l F r a m e P a n e l J F r a m e J P a n e l I c o n

2 9 cutbutton = new JButton("Cut", new ImageIcon("cut.gif")); cutbutton.addactionlistener(this); toolbar.add(cutbutton); copybutton = new JButton("Copy", new ImageIcon("copy.gif")); copybutton.addactionlistener(this); toolbar.add(copybutton); pastebutton = new JButton("Paste", new ImageIcon("paste.gif")); pastebutton.addactionlistener(this); toolbar.add(pastebutton); copybutton = new JButton(new ImageIcon("copy.gif")); copybutton.addactionlistener(this); toolbar.add(copybutton); public void actionperformed(actionevent e) { System.out.println(e.getActionCommand());

3 0 Swing A c t i o n L i s t e n e r public void actionperformed(actionevent ae) { if (ae.getsource() == cutbutton) { System.out.println("Got Cut event"); else if (ae.getsource() == copybutton) { System.out.println("Got Copy event"); else if (ae.getsource() == pastebutton) { System.out.println("Got Paste event"); B u t t o n a c t i o n C o m m a n d J B u t t o n s e t A c t i o n C o m m a n d ( ) a c t i o n P e r f o r m e d ( ) a c t i o n C o m m a n d A c t i o n

3 1 // ToolbarFrame4.java // Swing // import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ToolbarFrame4 extends Frame { // JButtons JButton cutbutton, copybutton, pastebutton; JButton winbutton, javabutton, motifbutton; public ToolbarFrame4() { super("toolbar Example (Swing no text)"); setsize(450, 250); addwindowlistener(new BasicWindowMonitor()); // JPanel Panel JPanel toolbar = new JPanel(); toolbar.setlayout(new FlowLayout(FlowLayout.LEFT)); CCPHandler handler = new CCPHandler(); cutbutton = new JButton(new ImageIcon("cut.gif")); cutbutton.setactioncommand(ccphandler.cut); cutbutton.addactionlistener(handler); toolbar.add(cutbutton); copybutton = new JButton(new ImageIcon("copy.gif")); copybutton.setactioncommand(ccphandler.copy); copybutton.addactionlistener(handler); toolbar.add(copybutton); pastebutton = new JButton(new ImageIcon("paste.gif")); pastebutton.setactioncommand(ccphandler.paste); pastebutton.addactionlistener(handler); toolbar.add(pastebutton); add(toolbar, BorderLayout.NORTH);

3 2 Swing // JPanel lnfpanel = new JPanel(); LnFListener lnflistener = new LnFListener(this); javabutton = new JButton("Metal"); javabutton.addactionlistener(lnflistener); lnfpanel.add(javabutton); motifbutton = new JButton("Motif"); motifbutton.addactionlistener(lnflistener); lnfpanel.add(motifbutton); winbutton = new JButton("Windows"); winbutton.addactionlistener(lnflistener); lnfpanel.add(winbutton); add(lnfpanel, BorderLayout.SOUTH); public static void main(string args[]) { ToolbarFrame4 tf4 = new ToolbarFrame4(); tf4.setvisible(true); s e t A c t i o n C o m m a n d ( ) a c t i o n P e r f o r m e d ( ) // CCPHandler.java // Cut Copy Paste // actioncommand // import java.awt.event.*; public class CCPHandler implements ActionListener { public final static String CUT = "cut"; public final static String COPY = "copy"; public final static String PASTE = "paste"; public void actionperformed(actionevent e) { String command = e.getactioncommand();

3 3 if (command == CUT) { // static System.out.println("Got Cut event"); else if (command == COPY) { System.out.println("Got Copy event"); else if (command == PASTE) { System.out.println("Got Paste event"); J I n t e r n a l F r a m e F r a m e F r a m e

3 4 Swing J D e s k t o p P a n e // layered pane JDesktopPane desktop = new JDesktopPane(); add(desktop, BorderLayout.CENTER); J I n t e r n a l F r a m e public JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable); internalframe = new JInternalFrame("Internal Frame", true, true, true, true); internalframe.setbounds(50, 50, 200, 100); desktop.add(internalframe, new Integer(1)); d e s k t o p. a d d () I n t e r g e r

3 5 J I n t e r n a l F r a m e // SimpleInternalFrame.java // // import java.awt.*; import java.awt.event.*; import javax.swing.*;

3 6 Swing public class SimpleInternalFrame extends Frame implements ActionListener { JButton openbutton, winbutton, javabutton, motifbutton; JLayeredPane desktop; JInternalFrame internalframe; public SimpleInternalFrame() { super("internal Frame Demo"); setsize(500,400); openbutton = new JButton("Open"); winbutton = new JButton("Windows"); javabutton = new JButton("Metal"); motifbutton = new JButton("Motif"); Panel p = new Panel(); p.add(openbutton); p.add(javabutton); p.add(motifbutton); p.add(winbutton); add(p, BorderLayout.SOUTH); addwindowlistener(new BasicWindowMonitor()); openbutton.addactionlistener(this); LnFListener lnf = new LnFListener(this); winbutton.addactionlistener(lnf); javabutton.addactionlistener(lnf); motifbutton.addactionlistener(lnf); // desktop = new JDesktopPane(); desktop.setopaque(true); add(desktop, BorderLayout.CENTER); public void actionperformed(actionevent e) { if ((internalframe == null) (internalframe.isclosed())) { internalframe = new JInternalFrame("Internal Frame", true, true, true, true); internalframe.setbounds(50, 50, 200, 100); desktop.add(internalframe, new Integer(1));

3 7 public static void main(string args[]) { SimpleInternalFrame sif = new SimpleInternalFrame(); sif.setvisible(true); J B u t t o n F r a m e J F r a m e J T e x t A r e a A c t i o n A c t i o n L n F L i s t e n e r

3 8 Swing // SiteManager.java // import java.awt.*; import java.io.*; import java.util.*; import java.awt.event.*; import javax.swing.*; public class SiteManager extends JFrame { JLayeredPane desktop; Vector popups = new Vector(); public SiteManager() { super("web Site Manager"); setsize(450, 250); addwindowlistener(new BasicWindowMonitor()); Container contentpane = getcontentpane();

3 9 JToolBar jtb = new JToolBar(); jtb.add(new CutAction(this)); jtb.add(new CopyAction(this)); jtb.add(new PasteAction(this)); contentpane.add(jtb, BorderLayout.NORTH); // LayeredPane desktop = new JDesktopPane(); contentpane.add(desktop, BorderLayout.CENTER); addsiteframe("sample"); public static void main(string args[]) { SiteManager mgr = new SiteManager(); mgr.setvisible(true); S i t e F r a m e P a g e F r a m e J I n t e r n a l F r a m e p o p u p s // public void addsiteframe(string name) { SiteFrame sf = new SiteFrame(name, this); popups.addelement(sf); desktop.add(sf, new Integer(2)); // SiteFrame public void addpageframe(string name) { PageFrame pf = new PageFrame(name, this); desktop.add(pf, new Integer(1)); pf.seticonifiable(true); popups.addelement(pf); public JInternalFrame getcurrentframe() { for (int i = 0; i < popups.size(); i++) { JInternalFrame currentframe = (JInternalFrame)popups.elementAt(i); if (currentframe.isselected()) {

4 0 Swing return currentframe; return null; g e t C u r r e n t F r a m e ( ) J T o o l B a r J T o o l B a r A c t i o n A c t i o n a c t i o n P e r f o r m e d ( ) A c t i o n A c t i o n A c t i o n a c t i o n P e r f o r m e d ( ) C o p y A c t i o n // CopyAction.java // PageFrame Action // import java.awt.event.actionevent; import javax.swing.*; public class CopyAction extends AbstractAction { SiteManager manager; public CopyAction(SiteManager sm) { super("", new ImageIcon("copy.gif")); manager = sm; public void actionperformed(actionevent ae) { JInternalFrame currentframe = manager.getcurrentframe(); if (currentframe == null) { return; // SiteFrame cut paste if (currentframe instanceof SiteFrame) { return; ((PageFrame)currentFrame).copyText();

4 1 C u t A c t i o n P a s t e A c t i o n A c t i o n s J I n t e r n a l F r a m e F r a m e J I n t e r n a l F r a m e // SiteFrame.java // JInternalFrame // HTML // import java.awt.*; import javax.swing.*; import javax.swing.event.*; public class SiteFrame extends JInternalFrame implements ListSelectionListener { JList namelist; SiteManager parent; // String[] pages = {"index.html", "page1.html", "page2.html"; public SiteFrame(String name, SiteManager sm) { super("site: " + name, true, true, true); parent = sm; setbounds(50,50,250,100); namelist = new JList(pages); namelist.setselectionmode(listselectionmodel.single_selection); namelist.addlistselectionlistener(this); Container contentpane = getcontentpane(); contentpane.add(namelist, BorderLayout.CENTER);

4 2 Swing S i t e F r a m e v a l u e C h a n g e d () P a g e F r a m e public void valuechanged(listselectionevent lse) { // if (!lse.getvalueisadjusting()) { parent.addpageframe((string)namelist.getselectedvalue()); J I n t e r n a l F r a m e // PageFrame.java // JInternalFrame // HTML // import java.awt.*; import java.io.*; import java.awt.event.*; import javax.swing.*; public class PageFrame extends JInternalFrame implements ActionListener { SiteManager parent; String filename; JTextArea ta; public PageFrame(String name, SiteManager sm) { super("page: " + name, true, true, true, true); parent = sm; setbounds(50,50,300,150); // JFrame

4 3 Container contentpane = getcontentpane(); // ta = new JTextArea(); JScrollPane jsp = new JScrollPane(ta); contentpane.add(jsp, BorderLayout.CENTER); // File Save JMenuBar jmb = new JMenuBar(); JMenu filemenu = new JMenu("File"); JMenuItem saveitem = new JMenuItem("Save"); saveitem.addactionlistener(this); filemenu.add(saveitem); jmb.add(filemenu); setjmenubar(jmb); // filename = name; loadcontent(); public void actionperformed(actionevent ae) { // save savecontent(); P a g e F r a m e r e a d ( ) w r i t e ( ) public void loadcontent() { try { FileReader fr = new FileReader(filename); ta.read(fr, null); fr.close(); catch (Exception e) { System.err.println("Could not load page: "+filename); public void savecontent() {

4 4 Swing try { FileWriter fw = new FileWriter(filename); ta.write(fw); fw.close(); catch(exception e) { System.err.println("Could not save page: "+filename); J T e x t C o m p o n e n t public void cuttext() { ta.cut(); public void copytext() { ta.copy(); public void pastetext() { ta.paste(); J C o m p o n e n t