我的評(píng)論
re: jbuilder 2008 啟動(dòng)錯(cuò)誤[未登錄] hhh 2015-05-09 01:27
這個(gè)問題我也遇到過,在網(wǎng)上找了許久,都沒有找到答案,后來在官網(wǎng)上試了一下他們提供的方法:
4550 and 4698] Install fails to complete and JBuilder fails to launch with a JVM error,
Cannot reserve more then 1136mb of memory for JBuilder on certain machine configurations.
Workaround: This is a 2-step workaround.
Edit the file JBuilder.ini in the root of the JBuilder install directory and add the parameter:
-vm jre\jre\bin\javaw.exe
Run JBuilder_Home/reset_Jbuilder.bat
Reference: https://bugs.eclipse.org/bugs/show_bug.cgi?id=188968.
具體的操作是,打開安裝目錄里的JBuilder.ini文件,在里面添加一行參數(shù),我是添加到最后面,不知道放在最前面行不行.
然后再運(yùn)行一下安裝目錄里的reset_Jbuilder.bat 文件,會(huì)彈出一個(gè)CMD窗口,需要等待幾分鐘,它自動(dòng)關(guān)閉.就可以啦.
然后再建個(gè)JBuilder.exe的快捷方式,在里面添加參數(shù) -clean 有些像Eclipse的快捷方式.
后面藍(lán)色的網(wǎng)址是這個(gè)問題的參考文檔,指向的是eclipse的一個(gè)文檔,說明這個(gè)問題的出現(xiàn),跟eclipse有關(guān),而且跟電腦的
內(nèi)存大小有很大關(guān)系.
PS:"在里面添加一行參數(shù)"是指: -vm jre\jre\bin\javaw.exe
4550 and 4698] Install fails to complete and JBuilder fails to launch with a JVM error,
Cannot reserve more then 1136mb of memory for JBuilder on certain machine configurations.
Workaround: This is a 2-step workaround.
Edit the file JBuilder.ini in the root of the JBuilder install directory and add the parameter:
-vm jre\jre\bin\javaw.exe
Run JBuilder_Home/reset_Jbuilder.bat
Reference: https://bugs.eclipse.org/bugs/show_bug.cgi?id=188968.
具體的操作是,打開安裝目錄里的JBuilder.ini文件,在里面添加一行參數(shù),我是添加到最后面,不知道放在最前面行不行.
然后再運(yùn)行一下安裝目錄里的reset_Jbuilder.bat 文件,會(huì)彈出一個(gè)CMD窗口,需要等待幾分鐘,它自動(dòng)關(guān)閉.就可以啦.
然后再建個(gè)JBuilder.exe的快捷方式,在里面添加參數(shù) -clean 有些像Eclipse的快捷方式.
后面藍(lán)色的網(wǎng)址是這個(gè)問題的參考文檔,指向的是eclipse的一個(gè)文檔,說明這個(gè)問題的出現(xiàn),跟eclipse有關(guān),而且跟電腦的
內(nèi)存大小有很大關(guān)系.
PS:"在里面添加一行參數(shù)"是指: -vm jre\jre\bin\javaw.exe
re: spring配置詳解-連接池配置(轉(zhuǎn)載)[未登錄] hhh 2014-11-17 18:09
ggggggg
re: html select 不可選 jquery[未登錄] hhh 2014-07-25 17:19
hhhhhhhhh
re: getOutputStream() has already been called for this response 錯(cuò)誤解決[未登錄] hhh 2012-05-08 15:16
按照你說的, 在后面加了那兩句,換了最下面的那個(gè)錯(cuò)誤了....
-------------------------------------------------
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.awt.image.BufferedImage,javax.imageio.ImageIO" %>
<%@page import="com.shopzdw.shop.image.Pair,com.shopzdw.shop.image.ImageOut" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%
response.setContentType("image/jpeg");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
Pair<String, BufferedImage> p = ImageOut.getImage();
ImageIO.write(p.getValue(), "JPEG", response.getOutputStream());
session.setAttribute("valid", p.getKey());
response.reset();
out.clear();
out=pageContext.pushBody();
%>
----------------------------------------------------------------
2012-5-8 15:12:50 org.apache.catalina.core.StandardWrapperValve invoke
嚴(yán)重: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.reset(ResponseFacade.java:310)
at org.apache.jsp.ValidateImage_jsp._jspService(ValidateImage_jsp.java:71)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
-------------------------------------------------
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.awt.image.BufferedImage,javax.imageio.ImageIO" %>
<%@page import="com.shopzdw.shop.image.Pair,com.shopzdw.shop.image.ImageOut" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%
response.setContentType("image/jpeg");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
Pair<String, BufferedImage> p = ImageOut.getImage();
ImageIO.write(p.getValue(), "JPEG", response.getOutputStream());
session.setAttribute("valid", p.getKey());
response.reset();
out.clear();
out=pageContext.pushBody();
%>
----------------------------------------------------------------
2012-5-8 15:12:50 org.apache.catalina.core.StandardWrapperValve invoke
嚴(yán)重: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.reset(ResponseFacade.java:310)
at org.apache.jsp.ValidateImage_jsp._jspService(ValidateImage_jsp.java:71)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
re: Java做的酒店管理系統(tǒng)(C/S)源碼[未登錄] hhh 2011-02-14 17:04
有源碼嗎,學(xué)習(xí)下,hys2006hr@163.com
re: 免費(fèi)MySQL數(shù)據(jù)庫申請(qǐng)[未登錄] hhh 2011-02-13 14:19
69rtt67
re: DOM4J 修改 xml 文件[未登錄] hhh 2010-12-06 22:22
用上了
re: Java正則表達(dá)式的解釋說明 [未登錄] hhh 2010-05-11 17:42
gggg
re: [下載]算法分析與設(shè)計(jì)視頻教程[未登錄] hhh 2010-04-26 09:52
@士大夫
這些視頻,都是照本宣讀一遍,沒什么用.
這些視頻,都是照本宣讀一遍,沒什么用.
re: 短信開發(fā)小結(jié)[未登錄] hhh 2009-12-11 01:25
寫得很好,頂
re: 使用rownum實(shí)現(xiàn)分頁[未登錄] hhh 2009-05-23 12:40
@有貓相伴的日子
不錯(cuò)SQL語音精簡(jiǎn)了,哈... 高手
不錯(cuò)SQL語音精簡(jiǎn)了,哈... 高手
re: ArcGIS Engine 完整例子的源碼(Java版)[未登錄] hhh 2008-09-10 14:08
hongjiazhai@163.com
re: 約瑟夫環(huán)算法(循環(huán)鏈表解決)[未登錄] hhh 2008-01-20 14:15
我也覺得,雖然不同的語言,但算法流程應(yīng)該相同。可是你的呢,兩種語言都不一樣~~~
re: [Download] Java 2 圖形設(shè)計(jì)卷Ⅰ:AWT[未登錄] hhh 2008-01-07 03:35
tai ai ni lo !!!!
re: 動(dòng)車組資料[未登錄] hhh 2007-09-06 17:36
adasdfsafgsehrfghjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkssssssssssssssssddnmczcz
re: 自動(dòng)清除最近文檔記錄[未登錄] HHH 2007-06-15 13:04
不錯(cuò)~~
re: JBuilder 2007 企業(yè)版Trial提供下載 hhh 2006-12-29 11:24
JBuilder放棄swing是一個(gè)錯(cuò)誤!
re: 初次感受SWT hhh 2006-11-09 16:20
http://www.servasoft.com/zh/index.htm
____________________________________________
這個(gè)叫TWaver的東西就是在swing基礎(chǔ)上擴(kuò)展的一套用于電信方面的GUI庫.寫的非常好,靈活而高效.上面有一個(gè)使用TWaver構(gòu)建的demo.提供了webstart,如果你機(jī)器上已近安裝了JRE(java 運(yùn)行環(huán)境),那么點(diǎn)那個(gè)Launch就可以運(yùn)行.
國內(nèi)深入研究swing的人不多,開發(fā)TWaver的那幫家伙算NB的!
SWING比SWT速度慢多少呢?
http://community.csdn.net/Expert/TopicView3.asp?id=5031751
我一直在想如果今天開發(fā)eclipse,那些開發(fā)者還會(huì)不會(huì)選擇再開發(fā)一個(gè)GUI庫。畢竟當(dāng)年swing的實(shí)現(xiàn)和硬件環(huán)境都不盡如人意!!!
____________________________________________
這個(gè)叫TWaver的東西就是在swing基礎(chǔ)上擴(kuò)展的一套用于電信方面的GUI庫.寫的非常好,靈活而高效.上面有一個(gè)使用TWaver構(gòu)建的demo.提供了webstart,如果你機(jī)器上已近安裝了JRE(java 運(yùn)行環(huán)境),那么點(diǎn)那個(gè)Launch就可以運(yùn)行.
國內(nèi)深入研究swing的人不多,開發(fā)TWaver的那幫家伙算NB的!
SWING比SWT速度慢多少呢?
http://community.csdn.net/Expert/TopicView3.asp?id=5031751
我一直在想如果今天開發(fā)eclipse,那些開發(fā)者還會(huì)不會(huì)選擇再開發(fā)一個(gè)GUI庫。畢竟當(dāng)年swing的實(shí)現(xiàn)和硬件環(huán)境都不盡如人意!!!
re: “高手”在項(xiàng)目中應(yīng)該扮演什么角色 hhh 2006-11-09 16:07
“能者多勞”本沒有錯(cuò),
但前提是要和“多勞多得”結(jié)合起來。
_____________________________________
有道理,頂!!!
但前提是要和“多勞多得”結(jié)合起來。
_____________________________________
有道理,頂!!!
re: 初次感受SWT hhh 2006-11-09 16:03
你不也回復(fù)了嗎?
那你倒是也談?wù)劙?
那你倒是也談?wù)劙?
re: 初次感受SWT hhh 2006-11-09 14:26
swing是第一個(gè)讓我有震撼的 GUI庫。
當(dāng)你看了很多MVC,設(shè)計(jì)模式,OO的很多理論后。當(dāng)用如powerbuilder,vb,mfc,...這些東西時(shí)發(fā)現(xiàn)難以表達(dá),因?yàn)樗鼈兊脑O(shè)計(jì)似乎不鼓勵(lì)模型與視圖的分離.感覺他們的設(shè)計(jì)缺乏一致性!
直到看到swing, 豁然開朗,才感覺一個(gè)真正OO的GUI庫!
當(dāng)你看了很多MVC,設(shè)計(jì)模式,OO的很多理論后。當(dāng)用如powerbuilder,vb,mfc,...這些東西時(shí)發(fā)現(xiàn)難以表達(dá),因?yàn)樗鼈兊脑O(shè)計(jì)似乎不鼓勵(lì)模型與視圖的分離.感覺他們的設(shè)計(jì)缺乏一致性!
直到看到swing, 豁然開朗,才感覺一個(gè)真正OO的GUI庫!
re: 初次感受SWT hhh 2006-11-09 14:16
但是他給我們的速度和外觀我想也應(yīng)該是有目共睹的吧。
————————————————————————————
我不知道你用的是jdk那個(gè)版本,5.0及以上swing的速度應(yīng)該還是不賴的,再加上硬件環(huán)境也比以前好多了,速度差距很不明顯了!當(dāng)這種差距變得看不見時(shí)還有何意義!!!
至于外觀還是要我重復(fù)這句話:
swing本身架構(gòu)沒有說swing的外觀應(yīng)該是什么樣子的.所以以sun為swing實(shí)現(xiàn)的那個(gè)默認(rèn)的lookandfeel來批評(píng)swing的樣子丑陋是不對(duì)的.
這里再補(bǔ)充一句,jdk6.0模擬各種os平臺(tái)的外觀已經(jīng)相當(dāng)一致了(使用了一些新的方法)。
“在cpu越來越快的年代靈活性和重用性更吸引人”,大哥,有速度快的更漂亮的的我們?yōu)槭裁床蝗ビ媚兀?
————————————————————————————————
問題是我們不僅要速度快,難道靈活性和重用性就不用考慮。我們來看看OO,一個(gè)對(duì)軟件界產(chǎn)生巨大影響的東西,但它有沒有使我們的軟件速度加快呢?沒有!!!應(yīng)該說反而降低了!!! 他帶來的是靈活性和重用性,更強(qiáng)的抽象機(jī)制,更好的依賴管理。
所以難道你不會(huì)從一個(gè)框架的架構(gòu)設(shè)計(jì),API角度去評(píng)價(jià)一個(gè)框架。
————————————————————————————
我不知道你用的是jdk那個(gè)版本,5.0及以上swing的速度應(yīng)該還是不賴的,再加上硬件環(huán)境也比以前好多了,速度差距很不明顯了!當(dāng)這種差距變得看不見時(shí)還有何意義!!!
至于外觀還是要我重復(fù)這句話:
swing本身架構(gòu)沒有說swing的外觀應(yīng)該是什么樣子的.所以以sun為swing實(shí)現(xiàn)的那個(gè)默認(rèn)的lookandfeel來批評(píng)swing的樣子丑陋是不對(duì)的.
這里再補(bǔ)充一句,jdk6.0模擬各種os平臺(tái)的外觀已經(jīng)相當(dāng)一致了(使用了一些新的方法)。
“在cpu越來越快的年代靈活性和重用性更吸引人”,大哥,有速度快的更漂亮的的我們?yōu)槭裁床蝗ビ媚兀?
————————————————————————————————
問題是我們不僅要速度快,難道靈活性和重用性就不用考慮。我們來看看OO,一個(gè)對(duì)軟件界產(chǎn)生巨大影響的東西,但它有沒有使我們的軟件速度加快呢?沒有!!!應(yīng)該說反而降低了!!! 他帶來的是靈活性和重用性,更強(qiáng)的抽象機(jī)制,更好的依賴管理。
所以難道你不會(huì)從一個(gè)框架的架構(gòu)設(shè)計(jì),API角度去評(píng)價(jià)一個(gè)框架。
re: “高手”在項(xiàng)目中應(yīng)該扮演什么角色 hhh 2006-11-09 11:00
同意
re: 初次感受SWT hhh 2006-11-09 10:58
to 不一樣
難道你覺得netbeans,Jbuilder,IntelliJ IDEA,永中office...這些都很丑,都特別慢。
且還是有很多 http://www.open-open.com/61.htm 優(yōu)秀的lookandfeel.
再次強(qiáng)調(diào)
swing本身架構(gòu)沒有說swing的外觀應(yīng)該是什么樣子的.所以以sun為swing實(shí)現(xiàn)的那個(gè)默認(rèn)的lookandfeel來批評(píng)swing的樣子丑陋是不對(duì)的.
在cpu越來越快的年代靈活性和重用性更吸引人!!!
難道你覺得netbeans,Jbuilder,IntelliJ IDEA,永中office...這些都很丑,都特別慢。
且還是有很多 http://www.open-open.com/61.htm 優(yōu)秀的lookandfeel.
再次強(qiáng)調(diào)
swing本身架構(gòu)沒有說swing的外觀應(yīng)該是什么樣子的.所以以sun為swing實(shí)現(xiàn)的那個(gè)默認(rèn)的lookandfeel來批評(píng)swing的樣子丑陋是不對(duì)的.
在cpu越來越快的年代靈活性和重用性更吸引人!!!
re: 初次感受SWT hhh 2006-11-09 09:38
其實(shí)我覺得現(xiàn)在swing模擬windows的視感(lookandfeel)已近很接近了.
這里有swing的各種開源的lookandfeel,有些還是不錯(cuò)的.
http://www.open-open.com/61.htm
還有swing本身架構(gòu)沒有說swing的外觀應(yīng)該是什么樣子的.所以以sun為swing實(shí)現(xiàn)的那個(gè)默認(rèn)的lookandfeel來批評(píng)swing的樣子丑陋是不對(duì)的.
swing的組件都是四兩撥千斤,模型和繪圖都是分離的,如
JTable 就有TableModel ---->JTable<-----TableUI,從結(jié)構(gòu)來說JTable完全扮演著控制器的角色.從API的使用者角度來說它是一個(gè)MVC體系的外觀,讓人想起了設(shè)計(jì)模式中的外觀模式.
這里有swing的各種開源的lookandfeel,有些還是不錯(cuò)的.
http://www.open-open.com/61.htm
還有swing本身架構(gòu)沒有說swing的外觀應(yīng)該是什么樣子的.所以以sun為swing實(shí)現(xiàn)的那個(gè)默認(rèn)的lookandfeel來批評(píng)swing的樣子丑陋是不對(duì)的.
swing的組件都是四兩撥千斤,模型和繪圖都是分離的,如
JTable 就有TableModel ---->JTable<-----TableUI,從結(jié)構(gòu)來說JTable完全扮演著控制器的角色.從API的使用者角度來說它是一個(gè)MVC體系的外觀,讓人想起了設(shè)計(jì)模式中的外觀模式.
re: 初次感受SWT hhh 2006-11-09 09:37
在靈活性和重用性方面還未見過哪個(gè)工業(yè)界的GUI庫可以與swing比肩。
swing的設(shè)計(jì)充滿了OO的藝術(shù)!
有人說從很多角度來看swing都是一件藝術(shù)品,swing非常靈活靈活到你可以幾乎定制它的每一個(gè)方面。
如果你學(xué)習(xí) OO,MVC,設(shè)計(jì)模式。。。,而又想看看實(shí)際例子,那么swing正是你要的。
swing的設(shè)計(jì)充滿了OO的藝術(shù)!
有人說從很多角度來看swing都是一件藝術(shù)品,swing非常靈活靈活到你可以幾乎定制它的每一個(gè)方面。
如果你學(xué)習(xí) OO,MVC,設(shè)計(jì)模式。。。,而又想看看實(shí)際例子,那么swing正是你要的。
re: 初次感受SWT hhh 2006-11-09 09:34
看JFace與Swing MVC的M
在JFace的ContentViewer抽象中下面的三個(gè)方法反映它對(duì)待模型的思路:
public void setContentProvider(IContentProvidercontentProvider)
public void setInput(Object input)
public void setLabelProvider(IBaseLabelProvider labelProvider)
顯然setInput是用來配置view背后的數(shù)據(jù),從它的參數(shù)類型(Object)來講應(yīng)該是你的與view無關(guān)的領(lǐng)域模型.
從這里就可以看出它和swing的根本差異.swing各種不同viewer(在swing的世界叫JComponent)背后的模型是因不同組件而不同的,模型的接口是反應(yīng)了該組件特征的.
如 JTable 背后的TableModel,TableModel接口的定義基本表達(dá)了作為一個(gè)二維表格期望獲得數(shù)據(jù)的方式如TableModel中有定義這樣的方法:
Objetc getValueAt(int row,int column)
在JFace中直接可以放入Object類型數(shù)據(jù),但各種viewer不一樣對(duì)于拿數(shù)據(jù)的期望也不一樣,
ContentProvider,LabelProvider解決了上述問題,不同ContentProvider定義了該viewer所期望的拿數(shù)據(jù)的接口,其實(shí)我覺得swing中的model在意義上類似于ContentProvider.
其實(shí)感覺JFace的做法在盡量強(qiáng)制你必須構(gòu)建獨(dú)立于GUI的模型.
而swing的話并沒有這種侵入性,你可以直接實(shí)現(xiàn)viewer的模型接口如
class Mymodel implenents TableModel{
}
也可以定義比較獨(dú)立的模型然后用對(duì)象適配器模式將它們適配到viewer model上!
在JFace的ContentViewer抽象中下面的三個(gè)方法反映它對(duì)待模型的思路:
public void setContentProvider(IContentProvidercontentProvider)
public void setInput(Object input)
public void setLabelProvider(IBaseLabelProvider labelProvider)
顯然setInput是用來配置view背后的數(shù)據(jù),從它的參數(shù)類型(Object)來講應(yīng)該是你的與view無關(guān)的領(lǐng)域模型.
從這里就可以看出它和swing的根本差異.swing各種不同viewer(在swing的世界叫JComponent)背后的模型是因不同組件而不同的,模型的接口是反應(yīng)了該組件特征的.
如 JTable 背后的TableModel,TableModel接口的定義基本表達(dá)了作為一個(gè)二維表格期望獲得數(shù)據(jù)的方式如TableModel中有定義這樣的方法:
Objetc getValueAt(int row,int column)
在JFace中直接可以放入Object類型數(shù)據(jù),但各種viewer不一樣對(duì)于拿數(shù)據(jù)的期望也不一樣,
ContentProvider,LabelProvider解決了上述問題,不同ContentProvider定義了該viewer所期望的拿數(shù)據(jù)的接口,其實(shí)我覺得swing中的model在意義上類似于ContentProvider.
其實(shí)感覺JFace的做法在盡量強(qiáng)制你必須構(gòu)建獨(dú)立于GUI的模型.
而swing的話并沒有這種侵入性,你可以直接實(shí)現(xiàn)viewer的模型接口如
class Mymodel implenents TableModel{
}
也可以定義比較獨(dú)立的模型然后用對(duì)象適配器模式將它們適配到viewer model上!
re: 初次感受SWT hhh 2006-11-09 09:32
Swing是MVC設(shè)計(jì)的典范
不管你的項(xiàng)目是否用到了Swing技術(shù),我都要說,Swing是一個(gè)設(shè)計(jì)優(yōu)秀的Java包,它充滿了大師的智慧。如果你學(xué)了Java卻連一個(gè) Button還不會(huì)寫,就象你學(xué)習(xí)Visual Basic卻不會(huì)用Button,那可絕對(duì)是不能被原諒的。Swing技術(shù)的應(yīng)用已經(jīng)在國外大行其道,由于java的免費(fèi)、易學(xué)以及大家對(duì)于java技術(shù)的充分信賴,好多公司早早的就把應(yīng)用程序的一切,從后臺(tái)服務(wù)到前臺(tái)人機(jī)交互界面,統(tǒng)統(tǒng)移到了java開發(fā)上。Swing出現(xiàn)了快10年了,憑借其先進(jìn)的設(shè)計(jì)思想,一直未曾落后于哪種語言的界面開發(fā)技術(shù),使用和理解Swing的設(shè)計(jì)思想,對(duì)軟件開發(fā)者大有裨益。
Swing的設(shè)計(jì)是MVC的典范。雖然MVC的概念有點(diǎn)泛濫,可是真正能夠理解并熟練掌握、在設(shè)計(jì)和開發(fā)里面自然流露的并不多見。記得用VC ++開發(fā)程序時(shí)候,MFC向?qū)б彩巧蒁ocument和View兩個(gè)類,當(dāng)時(shí)一直奇怪為什么這么繞圈子。再看Swing的設(shè)計(jì),則到處充滿了MVC的痕跡。仔細(xì)研究Swing中事件監(jiān)聽、Model-View分離、Renderer/Editor機(jī)制、可插拔的LookAndFeel等機(jī)制,簡(jiǎn)直就是一門藝術(shù),充滿了美感。而如果你非常痛恨這些設(shè)計(jì)并覺得他們怪異,很可能你是剛從VB或者Delphi轉(zhuǎn)過來,這些快速開發(fā)工具幫助了你也“害”了你。
Swing設(shè)計(jì)的不錯(cuò),不過可能過度學(xué)術(shù)化的設(shè)計(jì)也使得Swing跑起來并不靈巧,學(xué)習(xí)難度也大。這客觀上確實(shí)使得Swing一直沒有被廣泛使用,而且廣受詬病。記得以前“Swing有什么成功的應(yīng)用嗎?”之類的帖子一直是熱門話題。IBM等則趁機(jī)抓住小辮子弄了SWT吸引了不少人,使得 Java GUI技術(shù)面臨分裂的危險(xiǎn)。
不過隨著JAVA的不斷升級(jí)和優(yōu)化,Swing的速度一直在提高,美觀性也在改善,基于Swing的成功應(yīng)用也越來越多了。關(guān)于Swing是否消亡或被SWT代替或是否能作桌面應(yīng)用的爭(zhēng)論逐漸少了。不過喜歡并精通Swing技術(shù)的開發(fā)者,尤其在國內(nèi),依舊非常少。
好在情況在轉(zhuǎn)好。Sun正意識(shí)到Eclipse和SWT所帶來的威脅,下了大力氣發(fā)展NetBeans,其最新版本對(duì)Swing GUI可視化設(shè)計(jì)的支持已經(jīng)超過了所有對(duì)手,其Rich Client框架也走向成熟,這對(duì)Swing的發(fā)展和應(yīng)用是一個(gè)很大的推動(dòng)。隨著WEB熱潮的減退,人們又更多的開始理性的思考B/S和C/S架構(gòu)的選擇,某些領(lǐng)域Swing技術(shù)已經(jīng)成為首選的解決方案。隨著JGoodies、JIDE、TWaver等優(yōu)秀Swing產(chǎn)品的不斷涌現(xiàn),Swing會(huì)以更快速度在桌面應(yīng)用中普及。
不管你的項(xiàng)目是否用到了Swing技術(shù),我都要說,Swing是一個(gè)設(shè)計(jì)優(yōu)秀的Java包,它充滿了大師的智慧。如果你學(xué)了Java卻連一個(gè) Button還不會(huì)寫,就象你學(xué)習(xí)Visual Basic卻不會(huì)用Button,那可絕對(duì)是不能被原諒的。Swing技術(shù)的應(yīng)用已經(jīng)在國外大行其道,由于java的免費(fèi)、易學(xué)以及大家對(duì)于java技術(shù)的充分信賴,好多公司早早的就把應(yīng)用程序的一切,從后臺(tái)服務(wù)到前臺(tái)人機(jī)交互界面,統(tǒng)統(tǒng)移到了java開發(fā)上。Swing出現(xiàn)了快10年了,憑借其先進(jìn)的設(shè)計(jì)思想,一直未曾落后于哪種語言的界面開發(fā)技術(shù),使用和理解Swing的設(shè)計(jì)思想,對(duì)軟件開發(fā)者大有裨益。
Swing的設(shè)計(jì)是MVC的典范。雖然MVC的概念有點(diǎn)泛濫,可是真正能夠理解并熟練掌握、在設(shè)計(jì)和開發(fā)里面自然流露的并不多見。記得用VC ++開發(fā)程序時(shí)候,MFC向?qū)б彩巧蒁ocument和View兩個(gè)類,當(dāng)時(shí)一直奇怪為什么這么繞圈子。再看Swing的設(shè)計(jì),則到處充滿了MVC的痕跡。仔細(xì)研究Swing中事件監(jiān)聽、Model-View分離、Renderer/Editor機(jī)制、可插拔的LookAndFeel等機(jī)制,簡(jiǎn)直就是一門藝術(shù),充滿了美感。而如果你非常痛恨這些設(shè)計(jì)并覺得他們怪異,很可能你是剛從VB或者Delphi轉(zhuǎn)過來,這些快速開發(fā)工具幫助了你也“害”了你。
Swing設(shè)計(jì)的不錯(cuò),不過可能過度學(xué)術(shù)化的設(shè)計(jì)也使得Swing跑起來并不靈巧,學(xué)習(xí)難度也大。這客觀上確實(shí)使得Swing一直沒有被廣泛使用,而且廣受詬病。記得以前“Swing有什么成功的應(yīng)用嗎?”之類的帖子一直是熱門話題。IBM等則趁機(jī)抓住小辮子弄了SWT吸引了不少人,使得 Java GUI技術(shù)面臨分裂的危險(xiǎn)。
不過隨著JAVA的不斷升級(jí)和優(yōu)化,Swing的速度一直在提高,美觀性也在改善,基于Swing的成功應(yīng)用也越來越多了。關(guān)于Swing是否消亡或被SWT代替或是否能作桌面應(yīng)用的爭(zhēng)論逐漸少了。不過喜歡并精通Swing技術(shù)的開發(fā)者,尤其在國內(nèi),依舊非常少。
好在情況在轉(zhuǎn)好。Sun正意識(shí)到Eclipse和SWT所帶來的威脅,下了大力氣發(fā)展NetBeans,其最新版本對(duì)Swing GUI可視化設(shè)計(jì)的支持已經(jīng)超過了所有對(duì)手,其Rich Client框架也走向成熟,這對(duì)Swing的發(fā)展和應(yīng)用是一個(gè)很大的推動(dòng)。隨著WEB熱潮的減退,人們又更多的開始理性的思考B/S和C/S架構(gòu)的選擇,某些領(lǐng)域Swing技術(shù)已經(jīng)成為首選的解決方案。隨著JGoodies、JIDE、TWaver等優(yōu)秀Swing產(chǎn)品的不斷涌現(xiàn),Swing會(huì)以更快速度在桌面應(yīng)用中普及。
re: 初次感受SWT hhh 2006-11-09 09:27
如果你非要這么說,
那么我也可說SWT在重用和靈活性方面不可和swing同日而語!
swing靈活和重用的藝術(shù) renderer/editor
說到GUI類庫的重用有一個(gè)很著名的模式:Composite模式。對(duì),一個(gè)現(xiàn)代面向?qū)ο驡UI類庫基本上都有這個(gè)模式的實(shí)現(xiàn),當(dāng)然也包括swing.不過早一點(diǎn)如MFC就沒有完整的實(shí)現(xiàn),現(xiàn)在來看如果一個(gè)GUI類庫連基本的Composite模式都沒有實(shí)現(xiàn)基本上感覺是出土的文物啦!
但是我們來看即便有了Composite模式,但Composite模式通常是構(gòu)建靜態(tài)組合,如果要?jiǎng)討B(tài)的替換一個(gè)復(fù)合組件內(nèi)部的子元素如何辦呢?如此一來這個(gè)組件就只能定義自己的布局形式,而不能定死在這個(gè)布局形式內(nèi)的元素。
其實(shí)從用戶角度來說一個(gè)GUI元素通常就是兩種情況要么就是表現(xiàn),要么就是處于和用戶交互狀態(tài),這是它們的形態(tài)通常不一樣。所以組件不僅僅要只定義自己的布局形式,還要給于外部機(jī)會(huì)來配置當(dāng)自己的子元素處于這兩種狀態(tài)時(shí)相應(yīng)的UI組件是什么!
swing通過renderer/editor達(dá)到了這種靈活性。如swing中JTable,JList,JTree等組件都只是定義了自己的布局形式。并且都可以配置renderer/editor,這樣你的renderer/editor實(shí)現(xiàn)就接管了組件里面元素的表現(xiàn)形式和交互形態(tài)。理論上你可以用任何JComponent作為組件里面元素的表現(xiàn)形式和交互形態(tài)。其靈活性和重用性達(dá)到了一個(gè)巔峰!
以前還聊過一個(gè)JTable的例子!
http://www.douban.com/group/topic/1112689/
http://www.douban.com/group/topic/1261109/
那么我也可說SWT在重用和靈活性方面不可和swing同日而語!
swing靈活和重用的藝術(shù) renderer/editor
說到GUI類庫的重用有一個(gè)很著名的模式:Composite模式。對(duì),一個(gè)現(xiàn)代面向?qū)ο驡UI類庫基本上都有這個(gè)模式的實(shí)現(xiàn),當(dāng)然也包括swing.不過早一點(diǎn)如MFC就沒有完整的實(shí)現(xiàn),現(xiàn)在來看如果一個(gè)GUI類庫連基本的Composite模式都沒有實(shí)現(xiàn)基本上感覺是出土的文物啦!
但是我們來看即便有了Composite模式,但Composite模式通常是構(gòu)建靜態(tài)組合,如果要?jiǎng)討B(tài)的替換一個(gè)復(fù)合組件內(nèi)部的子元素如何辦呢?如此一來這個(gè)組件就只能定義自己的布局形式,而不能定死在這個(gè)布局形式內(nèi)的元素。
其實(shí)從用戶角度來說一個(gè)GUI元素通常就是兩種情況要么就是表現(xiàn),要么就是處于和用戶交互狀態(tài),這是它們的形態(tài)通常不一樣。所以組件不僅僅要只定義自己的布局形式,還要給于外部機(jī)會(huì)來配置當(dāng)自己的子元素處于這兩種狀態(tài)時(shí)相應(yīng)的UI組件是什么!
swing通過renderer/editor達(dá)到了這種靈活性。如swing中JTable,JList,JTree等組件都只是定義了自己的布局形式。并且都可以配置renderer/editor,這樣你的renderer/editor實(shí)現(xiàn)就接管了組件里面元素的表現(xiàn)形式和交互形態(tài)。理論上你可以用任何JComponent作為組件里面元素的表現(xiàn)形式和交互形態(tài)。其靈活性和重用性達(dá)到了一個(gè)巔峰!
以前還聊過一個(gè)JTable的例子!
http://www.douban.com/group/topic/1112689/
http://www.douban.com/group/topic/1261109/
re: 初探eclipse RCP 有些問題? hhh 2006-10-27 18:20
那么也就是說還是要繼承,我們也確實(shí)無法獲得viewpart實(shí)例的引用。
那么我運(yùn)行時(shí)要作一些改變?cè)趺崔k呢!
eclipse這樣設(shè)計(jì)的深刻意義在那呢?
那么我運(yùn)行時(shí)要作一些改變?cè)趺崔k呢!
eclipse這樣設(shè)計(jì)的深刻意義在那呢?
re: 我很希望B/S快點(diǎn)退出歷史舞臺(tái)! hhh 2006-10-20 12:21
@瘋流成性
呵呵,如果是這樣的話
這個(gè)能實(shí)現(xiàn)了
但我們更需要互聯(lián)網(wǎng)是一個(gè)"服務(wù)空間",技術(shù)一點(diǎn)的話叫"Application空間",只是這些Application要以服務(wù)的方式提供出去.所以人性化的講法叫"服務(wù)空間".
呵呵,如果是這樣的話
這個(gè)能實(shí)現(xiàn)了
但我們更需要互聯(lián)網(wǎng)是一個(gè)"服務(wù)空間",技術(shù)一點(diǎn)的話叫"Application空間",只是這些Application要以服務(wù)的方式提供出去.所以人性化的講法叫"服務(wù)空間".
re: 使用JFCUnit進(jìn)行GUI單元測(cè)試 hhh 2006-10-20 09:20
好,Swing 同仁也!
re: 我很希望B/S快點(diǎn)退出歷史舞臺(tái)! hhh 2006-10-19 13:15
希望大家繼續(xù)發(fā)表看法!
re: 我很希望B/S快點(diǎn)退出歷史舞臺(tái)! hhh 2006-10-18 18:09
@飛來的
我覺得很顯然你沒有仔細(xì)看,AJAX只不過是"b/s增強(qiáng)前臺(tái)交互能力的方向"發(fā)展!是進(jìn)一步扭曲的發(fā)展.
flex就比它徹底多!
在客戶端-服務(wù)器的領(lǐng)域,delphi、VB等等將徹底退出歷史舞臺(tái),更不必說swing、awt、swt之類的了
______________________________
還有顯然你也不了解swing,swing的設(shè)計(jì)充滿了oo的藝術(shù).delphi、VB從思想上顯然是落后于swing的!
我覺得很顯然你沒有仔細(xì)看,AJAX只不過是"b/s增強(qiáng)前臺(tái)交互能力的方向"發(fā)展!是進(jìn)一步扭曲的發(fā)展.
flex就比它徹底多!
在客戶端-服務(wù)器的領(lǐng)域,delphi、VB等等將徹底退出歷史舞臺(tái),更不必說swing、awt、swt之類的了
______________________________
還有顯然你也不了解swing,swing的設(shè)計(jì)充滿了oo的藝術(shù).delphi、VB從思想上顯然是落后于swing的!
re: 我很希望B/S快點(diǎn)退出歷史舞臺(tái)! hhh 2006-10-18 11:21
@49Degree
如果按照你所說,B/S快點(diǎn)退出歷史舞臺(tái),Google,Yahoo,Baidu都會(huì)通通和人們說 ByeBye!!!!!
_____________________________________________________
他們一定要用B/S才能提供他們的服務(wù)。
是你的思想狹隘了吧!
那么我估計(jì)你會(huì)想用RMB買單也是個(gè)糟糕的體驗(yàn),刷刷卡多好...
——————————————————————————————
這個(gè)到不覺得,有時(shí)候刷卡更麻煩,耗時(shí)!
如果按照你所說,B/S快點(diǎn)退出歷史舞臺(tái),Google,Yahoo,Baidu都會(huì)通通和人們說 ByeBye!!!!!
_____________________________________________________
他們一定要用B/S才能提供他們的服務(wù)。
是你的思想狹隘了吧!
那么我估計(jì)你會(huì)想用RMB買單也是個(gè)糟糕的體驗(yàn),刷刷卡多好...
——————————————————————————————
這個(gè)到不覺得,有時(shí)候刷卡更麻煩,耗時(shí)!
re: 我很希望B/S快點(diǎn)退出歷史舞臺(tái)! hhh 2006-10-18 10:03
@TonyZhao
悲哉~我不是正覺得糟糕的體驗(yàn),特不爽嗎!
悲哉~我不是正覺得糟糕的體驗(yàn),特不爽嗎!
re: 我很希望B/S快點(diǎn)退出歷史舞臺(tái)! hhh 2006-10-17 20:40
還是希望大家談?wù)効捶ǎ?/div>
re: 我很希望B/S快點(diǎn)退出歷史舞臺(tái)! hhh 2006-10-17 18:31
不好意思,我剛從豆瓣上寫的搬到這里來,那邊是對(duì)話式的,忘了整理一下了!
re: 一個(gè)電子書下載工具 hhh 2006-10-17 10:09
@marco
那你倒是加入不加入啊!
談?wù)勀銓?duì)swing的看法阿!
那你倒是加入不加入啊!
談?wù)勀銓?duì)swing的看法阿!
re: 一個(gè)電子書下載工具 hhh 2006-10-16 18:41
如果有個(gè)下載列表就好了,并且支持暫停.
還有l(wèi)ookandfeel最好用系統(tǒng)的,不要用java那個(gè),也過于丑陋了!
摟住喜歡swing嗎.
我在豆瓣上開了一個(gè)小組
http://www.douban.com/group/15620/
以前看MVC,面向?qū)ο螅O(shè)計(jì)模式,然而當(dāng)用VB,powerbuilder等寫
GUI程序時(shí)難以表達(dá)MVC,因?yàn)樗鼈兊募軜?gòu)完全不鼓勵(lì)模型視圖的分離。
像MFC對(duì)于GUI的抽象也是很糟糕,直到我看到swing的時(shí)候,才算真的看到了一個(gè)面向?qū)ο蟮腉UI框架。
swing充滿了大師的智慧!
還有l(wèi)ookandfeel最好用系統(tǒng)的,不要用java那個(gè),也過于丑陋了!
摟住喜歡swing嗎.
我在豆瓣上開了一個(gè)小組
http://www.douban.com/group/15620/
以前看MVC,面向?qū)ο螅O(shè)計(jì)模式,然而當(dāng)用VB,powerbuilder等寫
GUI程序時(shí)難以表達(dá)MVC,因?yàn)樗鼈兊募軜?gòu)完全不鼓勵(lì)模型視圖的分離。
像MFC對(duì)于GUI的抽象也是很糟糕,直到我看到swing的時(shí)候,才算真的看到了一個(gè)面向?qū)ο蟮腉UI框架。
swing充滿了大師的智慧!
re: 【原創(chuàng)】深入探究JFreeChart(1) hhh 2006-09-08 09:56
re: 最近的精力放在了GUI上面了。 hhh 2006-07-28 17:51
Swing:
Sun優(yōu)秀科學(xué)家和Netscape杰出工程師的作品!
Swing出現(xiàn)了快10年了,憑借其先進(jìn)的設(shè)計(jì)思想,一直未曾落后于哪種語言的界面開發(fā)技術(shù),使用和理解Swing的設(shè)計(jì)思想,對(duì)軟件開發(fā)者大有裨益。
http://www.douban.com/group/15620/
我在豆瓣上開的小組,有興趣聊聊!
swing是我第一個(gè)見到的真正的面向?qū)ο蟮腉UI框架,有著對(duì)設(shè)計(jì)模式的大量實(shí)踐!
Sun優(yōu)秀科學(xué)家和Netscape杰出工程師的作品!
Swing出現(xiàn)了快10年了,憑借其先進(jìn)的設(shè)計(jì)思想,一直未曾落后于哪種語言的界面開發(fā)技術(shù),使用和理解Swing的設(shè)計(jì)思想,對(duì)軟件開發(fā)者大有裨益。
http://www.douban.com/group/15620/
我在豆瓣上開的小組,有興趣聊聊!
swing是我第一個(gè)見到的真正的面向?qū)ο蟮腉UI框架,有著對(duì)設(shè)計(jì)模式的大量實(shí)踐!
re: 字符集的編(解)碼的總結(jié) hhh 2006-06-29 09:17
簡(jiǎn)單一句話來說,不同編碼解碼就是對(duì)同一串二進(jìn)制數(shù)據(jù)的不同詮釋。
re: SWT: 深入內(nèi)幕之消息機(jī)制探秘(上篇) hhh 2006-06-19 11:15
能否談?wù)剆wing呢!
re: YY一下未來的用戶界面 hhh 2006-06-19 10:52
對(duì)于互連網(wǎng)應(yīng)用,longhorn是一個(gè)里程碑!
re: 學(xué)習(xí)Swing的一點(diǎn)體會(huì) hhh 2006-05-11 10:09
就拿JTable來說,JTable就是View的部分,而TableModel就是M的部分.
JTable應(yīng)該是controller,負(fù)責(zé)UI的才是view,它們實(shí)現(xiàn)相應(yīng)的look and feel
swing是一件藝術(shù)品,有著相當(dāng)優(yōu)秀的架構(gòu)。
JTable應(yīng)該是controller,負(fù)責(zé)UI的才是view,它們實(shí)現(xiàn)相應(yīng)的look and feel
swing是一件藝術(shù)品,有著相當(dāng)優(yōu)秀的架構(gòu)。
re: [Eclipse筆記]SWT真正的優(yōu)勢(shì)不是快這么簡(jiǎn)單 hhh 2006-05-11 09:32
Swing可以做到完全模仿某一個(gè)風(fēng)格,但那始終是模仿出來的.
本地的圖形也是繪出來的,Swing用 java實(shí)現(xiàn)又怎么了。
Swing也是一個(gè)繪制框架,它有極大的靈活性來實(shí)現(xiàn)一個(gè)新的look and feel.
Swing是一件藝術(shù)品且具有極高的實(shí)用性。
本地的圖形也是繪出來的,Swing用 java實(shí)現(xiàn)又怎么了。
Swing也是一個(gè)繪制框架,它有極大的靈活性來實(shí)現(xiàn)一個(gè)新的look and feel.
Swing是一件藝術(shù)品且具有極高的實(shí)用性。
re: Eclipse下的JavaScript編輯器 hhh 2005-09-30 10:15
NRG JavaScript Editor 我怎么安裝上去竟然出錯(cuò)。
下載plugins和網(wǎng)上update安裝都是出錯(cuò)。
另外WTP中javascritp怎么弄出code assist啊??
下載plugins和網(wǎng)上update安裝都是出錯(cuò)。
另外WTP中javascritp怎么弄出code assist啊??