自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java Swing開發(fā)的一些熱點(diǎn)

開發(fā) 后端
Java Swing開發(fā)團(tuán)隊(duì)博客中寫道:這次是Swing應(yīng)用框架真正的回歸,這個(gè)項(xiàng)目也將是目前Swing團(tuán)隊(duì)工作的重中之重。

本文轉(zhuǎn)自Java Swing開發(fā)團(tuán)隊(duì)Alexander Potochkin的Blog。Alexander 說,對于長期未曾更新博客,我感到十分的抱歉。這是由于最近Java Swing開發(fā)團(tuán)隊(duì)有個(gè)非常緊急的臨時(shí)任務(wù)要完成,但是現(xiàn)在,我很開心的告訴大家,我們大部分的任務(wù)已經(jīng)完成了,我們又可以把工作重心回歸到初始設(shè)定的Swing library了.

這次是Swing應(yīng)用框架真正的回歸,這個(gè)項(xiàng)目也將是目前Swing團(tuán)隊(duì)工作的重中之重。我們還編組了一小隊(duì)人馬作為SAF的探路者,按部就班的開展工作。我的隊(duì)友們總喜歡問我“當(dāng)前的SAF究竟存在什么樣的問題?”“究竟我理想中的SAF是什么樣子?”每當(dāng)這時(shí)代碼就開始在我的腦海中翻滾。

這篇博文,將會為我的同僚們和Swing程序員們解答上述的問題。

已有代碼的單例問題

使用靜態(tài)方法Application.launch()保存當(dāng)前的應(yīng)用程序?qū)嵗揭粋€(gè)靜態(tài)空間,同時(shí)用Application.getInstance()返回結(jié)果。

其目的是防止不同的AppContexts向同一個(gè)JVM內(nèi)核發(fā)出請求。想象一下,如果兩個(gè)applet在同一個(gè)html上發(fā)出請求,他們將在同一個(gè)JVM內(nèi)核中運(yùn)行,分享不同類的靜態(tài)數(shù)據(jù),因此其中一個(gè)applet不能在使用Application.getInstance()返回到自己的實(shí)例中了。

設(shè)計(jì)類試圖

讓我們先來看一看描述Java Swing開發(fā)類的javadoc文本:
*一個(gè)涵蓋頂層應(yīng)用GUI組件的視圖,與JFrame和 Applet類似。它的主界面部分包含:菜單欄,工具欄,組件和一個(gè)狀態(tài)欄,所有這些內(nèi)容都是可選的(盡管沒有主要組件的視圖看起來會很奇怪)。*
類試圖包含多種調(diào)用方法,例如:getMenuBar()/setMenuBar(), getToolBar()/setToolbar() and getRootPane()。

當(dāng)每個(gè)視圖都有自己的框架,而每個(gè)框架也擁有自己的菜單欄時(shí),MDI應(yīng)用程序可以正常工作。這就好像是大多數(shù)本地應(yīng)用程序可以在Windows和Unix上運(yùn)行一樣。然而,一個(gè)出色的框架還要同時(shí)支持SDI應(yīng)用程序,在Mac操作系統(tǒng)上,所有應(yīng)用程序的視圖都在共享同一個(gè)菜單欄,這種用視圖定做主菜單欄的方法要比為每個(gè)視圖配備相應(yīng)的菜單欄更為方便。也正因此,在Mac應(yīng)用軟件中,發(fā)現(xiàn)一個(gè)只有一個(gè)菜單欄卻沒有主要組件的視圖并不稀奇。

獨(dú)立應(yīng)用框架與JFrame綁定.

一個(gè)優(yōu)秀的框架應(yīng)具有友好的IDE交互,比方說,我希望用我最為喜愛的IDE設(shè)計(jì)軟件去建立一個(gè)獨(dú)立應(yīng)用框架。在這種情況下,我不應(yīng)該明確地使用類似于JFrame或JDialog的類,因?yàn)檫@將讓使用IDE去控制和設(shè)計(jì)一個(gè)真正的JFrame變得非常困難的。

Applets是更為明顯的例子,作為一個(gè)Applets和一個(gè)獨(dú)立的應(yīng)用程序,它在運(yùn)行獨(dú)立應(yīng)用框架時(shí)應(yīng)更加得心應(yīng)手。它的常見模式將提供各類建立JFrame所必需的數(shù)據(jù),卻并不明確的創(chuàng)建它,而是容許不同的父窗體用不同的方法來展示這些視圖。

不支持活動(dòng)菜單

我并不是Mac用戶,但是當(dāng)我了解要想讓Swing應(yīng)用程序能在Mac系統(tǒng)上像本地程序一般運(yùn)行是多么困難時(shí),是這樣的印象深刻。菜單欄是一個(gè)主要的問題,它與Mac不同,具體參見下文。我不得不說,SAF需要自動(dòng)解決這類問題。

理想框架

一個(gè)小巧靈活,每個(gè)部分都有很強(qiáng)的功能性并且容易被重載。比如,當(dāng)你不想執(zhí)行LocalStorage時(shí),它將很容易幫你停止目前的執(zhí)行任務(wù)。它可以避免目前Java Swing開發(fā)中的問題,還知道如何讓一個(gè)應(yīng)用程序可以在特定操作系統(tǒng)上運(yùn)行。


當(dāng)下問題

我提到過,目前我們只針對一部分SAF的問題展開了討論。你對我提出的問題有什么想法嗎?或者你覺得SAF應(yīng)該具有什么必須的工能呢?

【編輯推薦】

  1. 用TableModel框架簡化Swing開發(fā)
  2. 動(dòng)態(tài)語言是否將會挽救Swing
  3. 使用多線程技術(shù)讓你的Swing及時(shí)響應(yīng)各類事件
  4. ***NetBeans 設(shè)計(jì)教程 使用Matisse輕松設(shè)計(jì)Swing
  5. 線程與Swing
責(zé)任編輯:冰荷 來源: csdn
相關(guān)推薦

2009-07-17 10:25:41

AWT和SwingSWT

2010-05-25 17:00:04

Java WebWeb容器Web應(yīng)用

2021-06-08 06:13:16

React開發(fā)開發(fā)技術(shù)

2011-06-01 16:50:21

JAVA

2011-04-14 09:15:21

Java Web應(yīng)用開發(fā)

2021-06-30 07:19:35

微服務(wù)業(yè)務(wù)MySQL

2010-11-02 14:11:15

SilverlightWPF微軟開發(fā)

2015-08-27 10:49:43

JavaScript開發(fā)框架

2015-07-28 14:39:02

IOS技巧

2018-02-06 11:10:27

iOS開發(fā)Xcode快捷鍵

2009-06-22 15:36:00

如何學(xué)好java

2009-06-18 09:51:25

Java繼承

2015-08-24 09:26:18

Java內(nèi)存問題見解

2015-12-08 09:05:41

Java內(nèi)部類

2017-05-02 21:08:35

開發(fā)架構(gòu)工程師

2012-12-24 14:51:02

iOS

2018-02-04 22:29:21

iOS開發(fā)

2014-05-13 09:55:13

iOS開發(fā)工具

2015-07-28 14:52:35

IOS技巧

2017-07-12 15:48:44

AndroidJavaEffective J
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號