国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

SimpleXmlEditor項(xiàng)目立項(xiàng)

2019-11-18 15:10:38
字體:
供稿:網(wǎng)友

  CN-java的朋友,大家好:

我是開源軟件SimplexmlEditor的開發(fā)者陳亮,希望你下載了,使用過我寫的這個(gè)軟件,更理想地,對(duì)我的名字還有點(diǎn)點(diǎn)印象。在我第三次發(fā)布我的軟件,并把源程序也一并寄給我們可愛的web master后,他表示了極大的愛好,并極力向我推薦了cn-java的開源項(xiàng)目。現(xiàn)在我先介紹一下它的“歷史”再介紹我對(duì)它的將來的計(jì)劃。

歷史
在我學(xué)習(xí)了Java,學(xué)習(xí)了XML,我開發(fā)了自己第一個(gè)比較完備的文檔編輯器??SimpleXmlEditor level 1。它提供了多文本編輯、undo/redo和ell模版(能在其上雙擊,后在文本框出現(xiàn)相應(yīng)的字符串的一排按鈕)的新建、保存、導(dǎo)入的功能。當(dāng)然,在許多功能上,是不如意的,例如undo/redo經(jīng)常出錯(cuò),導(dǎo)入導(dǎo)出ell模版出錯(cuò)等等。于是在過了幾個(gè)月后,我對(duì)它做了第一次修改,增加了設(shè)置瀏覽器設(shè)置、用瀏覽器察看結(jié)果、文本框右鍵菜單、并為用戶提供了擦除無用的undo/redo的功能。命名為SimpleXmlEditor1.0正式版。

在發(fā)布此版后,我并沒有停下來,因?yàn)槲野l(fā)現(xiàn)還存在許多不足與錯(cuò)誤:ell模版十分有限,用起來很不方便,層次感不好,不能起到很好的提示作用;undo/redo依然有錯(cuò);在特定的條件下,關(guān)閉窗口不能為用戶探測(cè)未保存的文件;編輯框太過單調(diào),假如能像許多編程軟件那樣能夠自動(dòng)轉(zhuǎn)換顏色,會(huì)好很多。于是我便把修改ell模版和讓文本編輯框變色定為“大工程”,先把小的錯(cuò)誤修改了再做。

文本框JTextArea只能顯示plain text,要達(dá)到目的必須把JTextArea 修改為JEditorPane或JTextPane,我選擇了JEditorPane(JTextPane能夠插入圖像,這明顯是不必要的)。在用戶輸入時(shí)改變字體顏色還得更改許多內(nèi)部機(jī)制,我讓Xeditor承繼了JEditorPane類,覆蓋了它的createDefaultEditorKit() 方法,參照DefaultEditorKit寫了Ekit繼續(xù)了abstract class EditorKit,然后又在Xeditor類里建了個(gè)內(nèi)部靜態(tài)類PlainEditorKit extends Ekit implements ViewFactor,并讓createDefaultEditorKit() 方法返回它得實(shí)例。在如此繁瑣與富有“神奇色彩”工作完成后才讓我的Xeditor類可以接受用戶編輯。然而,到現(xiàn)在我還是不很清楚怎樣改變它的顏色呢?在過了許久都沒有頭緒后,我放棄了對(duì)它的研究,假如你有愛好或者你能夠?qū)崿F(xiàn)改變它的顏色的功能,我很愿意深入一點(diǎn)地講解這里的工作機(jī)制,很可能實(shí)現(xiàn)這樣的功能就只差改變顏色,然后做個(gè)manager去控制它而已,并不太遙遠(yuǎn)了!

而后,我轉(zhuǎn)到了ell模版的更改,由于我想讓它更富有層次感,決定用JTree來實(shí)現(xiàn),并把ell文件的格式改為XML,用SAX來讀取、分析,但改動(dòng)太大,整個(gè)util3包幾乎全部換掉,重新編寫!現(xiàn)在,最復(fù)雜的可能是這里面的Tree.java了。

短期目標(biāo)與長遠(yuǎn)計(jì)劃
其實(shí),第三次發(fā)布的SimpleXmlEditor也還是有錯(cuò)與不足的,是我在編寫Tree.java時(shí)犯了個(gè)挺低級(jí)的錯(cuò)誤,把“"”里的q寫成p了;一些算法上也值得商榷,這在我的機(jī)器上已經(jīng)改過來了。而真正要列入“短期目標(biāo)”的是現(xiàn)在的一些不足:縱使樹型列表挺好,但假如在建了一個(gè)節(jié)點(diǎn)后,才發(fā)現(xiàn)自己放錯(cuò)了地方,唯一的方法是把它刪掉,另外,排序又只能按字母先后順序。我預(yù)備給它提供托拽的功能。還有就是當(dāng)你用SimpleXmlEditor打開一些用utf-8或者其他非凡的編碼方式的XML文檔時(shí),就只能看到亂碼!明顯這是需要改善的。還有undo/redo的操作也還有值的改善的地方。以上幾項(xiàng)我把它們列入“短期目標(biāo)”。

“長遠(yuǎn)計(jì)劃”需要更多的投入,我的設(shè)想是這樣的:XML Schema遲早會(huì)取代DTD所扮演的,為XML定義數(shù)據(jù)模式的地位,假如能做到導(dǎo)入XML Schema后生成相應(yīng)的格式,讓用戶生成XML文檔就像填表操作那樣,那么編寫XML文檔是不是馬上變得輕松得多了呢?還有,XML數(shù)據(jù)庫的想法便應(yīng)運(yùn)而生了,對(duì)于XML是否適合于做數(shù)據(jù)庫,許多人都認(rèn)為不可行的,然而確實(shí)有人正在這樣做(我知道外國有做這方面工作的組織),那樣,我們也可以做做這樣面的研究。現(xiàn)在我在看一些關(guān)于數(shù)據(jù)庫實(shí)現(xiàn)的書,希望得到更多可行性的結(jié)論!

最后
在這里想說的是,我們并非一定要做出什么很優(yōu)秀的軟件??當(dāng)然,我們應(yīng)該盡量做得更好。我們的目標(biāo)是,為了自己的想法、自己的追求而努力、嘗試,很感謝cn-java為我們提供了能聚在一起討論、干活的網(wǎng)絡(luò)環(huán)境,讓我們能夠不必?fù)?dān)憂彼此間的距離,即使我們是失敗的,也從中得到了經(jīng)驗(yàn)、教訓(xùn),能夠成長才是最終的目的。所以,大家最好按照軟件工程的要求,規(guī)范化地工作,不會(huì)不要緊(我也不會(huì)),從現(xiàn)在開始慢慢習(xí)慣,慢慢體會(huì)。

(假如對(duì)將來的發(fā)展計(jì)劃有什么意見與建議,可以拿出來大家討論,最好大家都發(fā)表一下意見)

陳亮
mailcl@163.com

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 仲巴县| 三亚市| 新源县| 塔城市| 雷波县| 姜堰市| 高平市| 衡水市| 商都县| 新野县| 北宁市| 永川市| 鄂托克旗| 平利县| 大城县| 诸城市| 巴青县| 喀喇沁旗| 樟树市| 梓潼县| 基隆市| 抚宁县| 丽水市| 山东省| 许昌市| 邓州市| 深泽县| 巴马| 康马县| 津南区| 汤阴县| 安宁市| 北宁市| 丹阳市| 原阳县| 镇康县| 托里县| 中江县| 镇江市| 古浪县| 林芝县|