自行改装jbuilder-part(编辑修改稿)内容摘要:
tor,不就結了。 拿到 this 之後,還有看不到的資訊嗎。 一視同仁,順便把HelloWorldFrame_btnExit_actionAdapter 也調整一下: 程式列表: import .*。 import .*。 import .*。 public class HelloWorldFrame extends JFrame { JButton btnHello = new JButton(Hello)。 JButton btnExit = new JButton(Exit)。 JLabel lblMessage = new JLabel( )。 public HelloWorldFrame() { JPanel contentPane = (JPanel) getContentPane()。 (btnHello, )。 (lblMessage, )。 (btnExit, )。 ( new HelloWorldFrame_btnHello_actionAdapter(this))。 ( new HelloWorldFrame_btnExit_actionAdapter(this))。 setDefaultCloseOperation()。 setLocation(100, 100)。 setSize(400, 300)。 setVisible(true)。 } public static void main(String[] args) { HelloWorldFrame hwFrame = new HelloWorldFrame()。 } } class HelloWorldFrame_btnHello_actionAdapter implements ActionListener { private HelloWorldFrame adaptee。 public HelloWorldFrame_btnHello_actionAdapter(HelloWorldFrame adaptee) { = adaptee。 } public void actionPerformed(ActionEvent e) { (Hello World)。 } } class HelloWorldFrame_btnExit_actionAdapter implements ActionListener { private HelloWorldFrame adaptee。 public HelloWorldFrame_btnExit_actionAdapter(HelloWorldFrame adaptee) { = adaptee。 } public void actionPerformed(ActionEvent e) { (0)。 } } 看起來似乎不錯,不過 HelloWorldFrame_btnHello_actionAdapter 的actionPerformed()方法裡面可能會出現一堆 HelloWorldFrame 定義的欄位,這樣似乎知道人家家裡太多秘密了,感覺上不太好,耦合度還是太高。 有沒有辦法可以讓這兩個類別之間保持一定的神秘感,但是又可以完成該做的事。 有了。 把 btnHello的企業邏輯 btnHello_actionPerformed()寫在 HelloWorldFrame裡頭,因為 btnHello會用到的資訊都放在 HelloWorldFrame 裡頭,這樣最方便不過。 然後呢, HelloWorldFrame_btnHello_actionAdapter 拐個彎 用 adaptee (也就是this)回 呼 btnHello_actionPerformed(),不就好了。 順便也把 btnExit改一改: 程式列表: import .*。 import .*。 import .*。 public class HelloWorldFrame extends JFrame { JButton btnHello = new JButton(Hello)。 JButton btnExit = new JButton(Exit)。 JLabel lblMessage = new JLabel( )。 public HelloWorldFrame() { JPanel contentPane = (JPanel) getContentPane()。 (btnHello, )。 (lblMessage, )。 (btnExit, )。 ( new HelloWorldFrame_btnHello_actionAdapter(this))。 ( new HelloWorldFrame_btnExit_actionAdapter(this))。 setDefaultCloseOperation()。 setLocation(100, 100)。 setSize(400, 300)。 setVisible(true)。 } public void btnHello_actionPerformed(ActionEvent e) { (Hello World)。 } public void btnExit_actionPerformed(ActionEvent e) { (0)。 } public static void main(String[] args) { HelloWorldFrame hwFrame = new HelloWorldFrame()。 } } class HelloWorldFrame_btnHello_actionAdapter implements ActionListener { private HelloWorldFrame adaptee。 public HelloWorldFrame_btnHello_actionAdapter(HelloWorldFrame adaptee) { = adaptee。 } public void actionPerformed(ActionEvent e) { (e)。 } } class HelloWorldFrame_btnExit_actionAdapter implements ActionListener { private HelloWorldFrame adaptee。 public HelloWorldFrame_btnExit_actionAdapter(HelloWorldFrame adaptee) { = adaptee。 } public void actionPerformed(ActionEvent e) { (e)。 } } 這麼一來,雙方面唯一需要知道的,就只剩下類別名稱與企業邏輯 名稱 而已。 Adapter 在哪裡 就是 HelloWorldFrame_btnHello_actionAdapter 與HelloWorldFrame_btnExit_actionAdapter 這兩個類別。 你有沒有注意到,HelloWorldFrame漸漸變得跟原來還不知 Event Delegation Model為何物時很像。 感覺上是不是很像我們有一個既有類別 HelloWorldFrame,為了融入到 Event Delegation Model 之中,我們就弄了 HelloWorldFrame_btnHello_actionAdapter 與HelloWorldFrame_btnExit_actionAdapter 這兩個變壓器, 讓它們去實作ActionListener 介面,然後拐個彎,分別在 actionPerformed()方法之中呼叫既有類別 定義好的企業邏輯。 舊版的 JDK 這個程式看來似乎還不錯,可是交貨的時候老闆還是不滿意,因為不能在舊版的JDK裡頭執行。 Why。 原因就 在底下這一行; setDefaultCloseOperation()。 怎麼辦。 為了盡可能讓老闆多賣幾份程式,我只好用保險一點的寫法,改寫WindowListener 的 windowClosing()方法: 程式列表: import .*。 import .*。 import .*。 public class HelloWorldFrame extends JFrame { JButton btnHello = new JButton(Hello)。 JButton btnExit = new JButton(Exit)。 JLabel lblMessage = new JLabel( )。 public HelloWorldFrame() { JPanel contentPane = (JPanel) getContentPane()。 (btnHello, )。 (lblMessage, )。 (btnExit, )。 ( new HelloWorldFrame_btnHello_actionAdapter(this))。 ( new HelloWorldFrame_btnExit_actionAdapter(this))。 (new HelloWorldFrame_this_windowAdapter(this))。 setLocation(100, 100)。 setSize(400, 300)。 setVisible(true)。 } public void btnHello_actionPerformed(ActionEvent e) { (Hello World)。 } public void btnExit_actionPerformed(ActionEvent e) { (0)。 } public void this_windowClosing(WindowEvent e) { (0)。 } public static void main(String[] args) { HelloWorldFrame hwFrame = new HelloWorldFrame()。 } } class HelloWorldFrame_btnHello_actionAdapter implements ActionListener { private HelloWorldFrame adaptee。 public HelloWorldFrame_btnHello_actionAdapter(HelloWorldFrame adaptee) { = adaptee。 } public void actionPerformed(ActionEvent e) { (e)。 } } class HelloWorldFrame_btnExit_actionAdapter implements ActionListener { private HelloWorldFrame adaptee。 public HelloWorldFrame_btnExit_actionAdapter(HelloWorldF。自行改装jbuilder-part(编辑修改稿)
相关推荐
年以上从事工程管理工作经历或具有中级以上职称;技术负责人具有 10 年以上从事工程施工技术管理工作经历并具有相关专业高级职称;财务负责人具有中级以上会计职称。 企业有职称的工程技术和经济管理人员不少于 150人,其中工程技术人员 不少于 80人;工程技术人员中,具有高级职称的人员不少于 10 人,具有中级以上职称的人员不少于 20 人。 企业具有的二级资质以上项目经理不少于 10 人。 3.
附件 2), 考核结束后 ,考核小组组长 写 出 考核结论,并在申请表考核小组一栏内提出考核意见。 第九条 认定:舟山检验检疫局食检处负责人根据考核小组考核意见,合格的,填写出口食品良好企业名单推荐表(见附件 3),报分管 局 领导审核 同意 后,上 报 省局食检处审批;不合格的,材料直接退回申请企业。 第十条 被批准列入良好企业名单的 企业 ,舟山检验检疫局以书面形式通知相关企业
(二)自主创作,无版权争议。 (三 )学生 FLASH 动漫制作 比赛采用现场比赛方式, 学生类网页设计 及 教师 类 比赛采用上报作品形式(教师上报作品要求同学生现场比赛要求)。 (四)现场比赛具体要求: 1. 网页作品格式及要求: ①浏览器为: Microsoft Inter Explorer 以上标准版, 制作软件为 Frontpage2020或 Dreamweaver MX; ②分辨率为
的厂长、经理缺乏自主权,盈利的企业和亏损的企业、干好的工人和干坏的工人在激励上没有差别,因此,推行了放权让利的改革,扩大了厂长、经理的自主权,让企业分享一定比例的效益,这种改革措施在试点时有效,全面推广后就无效,形成所谓生产率提高,利润率却下降的现象。 于是,理论界认为是产权安排不完善,国有企业归全国人民所有,但交由厂长、经理管理,出现产权缺位,没有人真正关心国有企业的保值与增值。 到 80
面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,多态等等。 计算机语言的 发展现状:目前通用的编程语言有两种形式:汇编语言和高级语言。 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。 用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
每一个角落,她们都 O 领导者。 所以总让别人以为她们不需要照顾,事实上狮子老婆很依赖先生。 <治疗> 爱漂亮的狮子老婆,常不惜千金以维护自己的青春,各种各品都有她们的芳踪。 所以当狮子太座的老公要有技巧,懂得赞美,并且把大小事留给她做决定。 此外,狮子老婆需要呵护,她们是 T!长不大的任性小女孩,在内心深处 ,她期待着你的照顾和一个强壮的臂弯。 <叮咛> 白羊、狮子、射手老公