我的評論
re: jbuilder 2008 啟動錯誤[未登錄] hhh 2015-05-09 01:27
這個問題我也遇到過,在網上找了許久,都沒有找到答案,后來在官網上試了一下他們提供的方法:
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文件,在里面添加一行參數,我是添加到最后面,不知道放在最前面行不行.
然后再運行一下安裝目錄里的reset_Jbuilder.bat 文件,會彈出一個CMD窗口,需要等待幾分鐘,它自動關閉.就可以啦.
然后再建個JBuilder.exe的快捷方式,在里面添加參數 -clean 有些像Eclipse的快捷方式.
后面藍色的網址是這個問題的參考文檔,指向的是eclipse的一個文檔,說明這個問題的出現,跟eclipse有關,而且跟電腦的
內存大小有很大關系.
PS:"在里面添加一行參數"是指: -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文件,在里面添加一行參數,我是添加到最后面,不知道放在最前面行不行.
然后再運行一下安裝目錄里的reset_Jbuilder.bat 文件,會彈出一個CMD窗口,需要等待幾分鐘,它自動關閉.就可以啦.
然后再建個JBuilder.exe的快捷方式,在里面添加參數 -clean 有些像Eclipse的快捷方式.
后面藍色的網址是這個問題的參考文檔,指向的是eclipse的一個文檔,說明這個問題的出現,跟eclipse有關,而且跟電腦的
內存大小有很大關系.
PS:"在里面添加一行參數"是指: -vm jre\jre\bin\javaw.exe
re: spring配置詳解-連接池配置(轉載)[未登錄] 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 錯誤解決[未登錄] hhh 2012-05-08 15:16
按照你說的, 在后面加了那兩句,換了最下面的那個錯誤了....
-------------------------------------------------
<%@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
嚴重: 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
嚴重: 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做的酒店管理系統(C/S)源碼[未登錄] hhh 2011-02-14 17:04
有源碼嗎,學習下,hys2006hr@163.com
re: 免費MySQL數據庫申請[未登錄] hhh 2011-02-13 14:19
69rtt67
re: DOM4J 修改 xml 文件[未登錄] hhh 2010-12-06 22:22
用上了
re: Java正則表達式的解釋說明 [未登錄] hhh 2010-05-11 17:42
gggg
re: [下載]算法分析與設計視頻教程[未登錄] hhh 2010-04-26 09:52
@士大夫
這些視頻,都是照本宣讀一遍,沒什么用.
這些視頻,都是照本宣讀一遍,沒什么用.
re: 短信開發小結[未登錄] hhh 2009-12-11 01:25
寫得很好,頂
re: 使用rownum實現分頁[未登錄] hhh 2009-05-23 12:40
@有貓相伴的日子
不錯SQL語音精簡了,哈... 高手
不錯SQL語音精簡了,哈... 高手
re: ArcGIS Engine 完整例子的源碼(Java版)[未登錄] hhh 2008-09-10 14:08
hongjiazhai@163.com
re: 約瑟夫環算法(循環鏈表解決)[未登錄] hhh 2008-01-20 14:15
我也覺得,雖然不同的語言,但算法流程應該相同。可是你的呢,兩種語言都不一樣~~~
re: [Download] Java 2 圖形設計卷Ⅰ:AWT[未登錄] hhh 2008-01-07 03:35
tai ai ni lo !!!!
re: 動車組資料[未登錄] hhh 2007-09-06 17:36
adasdfsafgsehrfghjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkssssssssssssssssddnmczcz
re: 自動清除最近文檔記錄[未登錄] HHH 2007-06-15 13:04
不錯~~
re: JBuilder 2007 企業版Trial提供下載 hhh 2006-12-29 11:24
JBuilder放棄swing是一個錯誤!
re: 初次感受SWT hhh 2006-11-09 16:20
http://www.servasoft.com/zh/index.htm
____________________________________________
這個叫TWaver的東西就是在swing基礎上擴展的一套用于電信方面的GUI庫.寫的非常好,靈活而高效.上面有一個使用TWaver構建的demo.提供了webstart,如果你機器上已近安裝了JRE(java 運行環境),那么點那個Launch就可以運行.
國內深入研究swing的人不多,開發TWaver的那幫家伙算NB的!
SWING比SWT速度慢多少呢?
http://community.csdn.net/Expert/TopicView3.asp?id=5031751
我一直在想如果今天開發eclipse,那些開發者還會不會選擇再開發一個GUI庫。畢竟當年swing的實現和硬件環境都不盡如人意!!!
____________________________________________
這個叫TWaver的東西就是在swing基礎上擴展的一套用于電信方面的GUI庫.寫的非常好,靈活而高效.上面有一個使用TWaver構建的demo.提供了webstart,如果你機器上已近安裝了JRE(java 運行環境),那么點那個Launch就可以運行.
國內深入研究swing的人不多,開發TWaver的那幫家伙算NB的!
SWING比SWT速度慢多少呢?
http://community.csdn.net/Expert/TopicView3.asp?id=5031751
我一直在想如果今天開發eclipse,那些開發者還會不會選擇再開發一個GUI庫。畢竟當年swing的實現和硬件環境都不盡如人意!!!
re: “高手”在項目中應該扮演什么角色 hhh 2006-11-09 16:07
“能者多勞”本沒有錯,
但前提是要和“多勞多得”結合起來。
_____________________________________
有道理,頂!!!
但前提是要和“多勞多得”結合起來。
_____________________________________
有道理,頂!!!
re: 初次感受SWT hhh 2006-11-09 16:03
你不也回復了嗎?
那你倒是也談談啊!
那你倒是也談談啊!
re: 初次感受SWT hhh 2006-11-09 14:26
swing是第一個讓我有震撼的 GUI庫。
當你看了很多MVC,設計模式,OO的很多理論后。當用如powerbuilder,vb,mfc,...這些東西時發現難以表達,因為它們的設計似乎不鼓勵模型與視圖的分離.感覺他們的設計缺乏一致性!
直到看到swing, 豁然開朗,才感覺一個真正OO的GUI庫!
當你看了很多MVC,設計模式,OO的很多理論后。當用如powerbuilder,vb,mfc,...這些東西時發現難以表達,因為它們的設計似乎不鼓勵模型與視圖的分離.感覺他們的設計缺乏一致性!
直到看到swing, 豁然開朗,才感覺一個真正OO的GUI庫!
re: 初次感受SWT hhh 2006-11-09 14:16
但是他給我們的速度和外觀我想也應該是有目共睹的吧。
————————————————————————————
我不知道你用的是jdk那個版本,5.0及以上swing的速度應該還是不賴的,再加上硬件環境也比以前好多了,速度差距很不明顯了!當這種差距變得看不見時還有何意義!!!
至于外觀還是要我重復這句話:
swing本身架構沒有說swing的外觀應該是什么樣子的.所以以sun為swing實現的那個默認的lookandfeel來批評swing的樣子丑陋是不對的.
這里再補充一句,jdk6.0模擬各種os平臺的外觀已經相當一致了(使用了一些新的方法)。
“在cpu越來越快的年代靈活性和重用性更吸引人”,大哥,有速度快的更漂亮的的我們為什么不去用呢?
————————————————————————————————
問題是我們不僅要速度快,難道靈活性和重用性就不用考慮。我們來看看OO,一個對軟件界產生巨大影響的東西,但它有沒有使我們的軟件速度加快呢?沒有!!!應該說反而降低了!!! 他帶來的是靈活性和重用性,更強的抽象機制,更好的依賴管理。
所以難道你不會從一個框架的架構設計,API角度去評價一個框架。
————————————————————————————
我不知道你用的是jdk那個版本,5.0及以上swing的速度應該還是不賴的,再加上硬件環境也比以前好多了,速度差距很不明顯了!當這種差距變得看不見時還有何意義!!!
至于外觀還是要我重復這句話:
swing本身架構沒有說swing的外觀應該是什么樣子的.所以以sun為swing實現的那個默認的lookandfeel來批評swing的樣子丑陋是不對的.
這里再補充一句,jdk6.0模擬各種os平臺的外觀已經相當一致了(使用了一些新的方法)。
“在cpu越來越快的年代靈活性和重用性更吸引人”,大哥,有速度快的更漂亮的的我們為什么不去用呢?
————————————————————————————————
問題是我們不僅要速度快,難道靈活性和重用性就不用考慮。我們來看看OO,一個對軟件界產生巨大影響的東西,但它有沒有使我們的軟件速度加快呢?沒有!!!應該說反而降低了!!! 他帶來的是靈活性和重用性,更強的抽象機制,更好的依賴管理。
所以難道你不會從一個框架的架構設計,API角度去評價一個框架。
re: “高手”在項目中應該扮演什么角色 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 優秀的lookandfeel.
再次強調
swing本身架構沒有說swing的外觀應該是什么樣子的.所以以sun為swing實現的那個默認的lookandfeel來批評swing的樣子丑陋是不對的.
在cpu越來越快的年代靈活性和重用性更吸引人!!!
難道你覺得netbeans,Jbuilder,IntelliJ IDEA,永中office...這些都很丑,都特別慢。
且還是有很多 http://www.open-open.com/61.htm 優秀的lookandfeel.
再次強調
swing本身架構沒有說swing的外觀應該是什么樣子的.所以以sun為swing實現的那個默認的lookandfeel來批評swing的樣子丑陋是不對的.
在cpu越來越快的年代靈活性和重用性更吸引人!!!
re: 初次感受SWT hhh 2006-11-09 09:38
其實我覺得現在swing模擬windows的視感(lookandfeel)已近很接近了.
這里有swing的各種開源的lookandfeel,有些還是不錯的.
http://www.open-open.com/61.htm
還有swing本身架構沒有說swing的外觀應該是什么樣子的.所以以sun為swing實現的那個默認的lookandfeel來批評swing的樣子丑陋是不對的.
swing的組件都是四兩撥千斤,模型和繪圖都是分離的,如
JTable 就有TableModel ---->JTable<-----TableUI,從結構來說JTable完全扮演著控制器的角色.從API的使用者角度來說它是一個MVC體系的外觀,讓人想起了設計模式中的外觀模式.
這里有swing的各種開源的lookandfeel,有些還是不錯的.
http://www.open-open.com/61.htm
還有swing本身架構沒有說swing的外觀應該是什么樣子的.所以以sun為swing實現的那個默認的lookandfeel來批評swing的樣子丑陋是不對的.
swing的組件都是四兩撥千斤,模型和繪圖都是分離的,如
JTable 就有TableModel ---->JTable<-----TableUI,從結構來說JTable完全扮演著控制器的角色.從API的使用者角度來說它是一個MVC體系的外觀,讓人想起了設計模式中的外觀模式.
re: 初次感受SWT hhh 2006-11-09 09:37
在靈活性和重用性方面還未見過哪個工業界的GUI庫可以與swing比肩。
swing的設計充滿了OO的藝術!
有人說從很多角度來看swing都是一件藝術品,swing非常靈活靈活到你可以幾乎定制它的每一個方面。
如果你學習 OO,MVC,設計模式。。。,而又想看看實際例子,那么swing正是你要的。
swing的設計充滿了OO的藝術!
有人說從很多角度來看swing都是一件藝術品,swing非常靈活靈活到你可以幾乎定制它的每一個方面。
如果你學習 OO,MVC,設計模式。。。,而又想看看實際例子,那么swing正是你要的。
re: 初次感受SWT hhh 2006-11-09 09:34
看JFace與Swing MVC的M
在JFace的ContentViewer抽象中下面的三個方法反映它對待模型的思路:
public void setContentProvider(IContentProvidercontentProvider)
public void setInput(Object input)
public void setLabelProvider(IBaseLabelProvider labelProvider)
顯然setInput是用來配置view背后的數據,從它的參數類型(Object)來講應該是你的與view無關的領域模型.
從這里就可以看出它和swing的根本差異.swing各種不同viewer(在swing的世界叫JComponent)背后的模型是因不同組件而不同的,模型的接口是反應了該組件特征的.
如 JTable 背后的TableModel,TableModel接口的定義基本表達了作為一個二維表格期望獲得數據的方式如TableModel中有定義這樣的方法:
Objetc getValueAt(int row,int column)
在JFace中直接可以放入Object類型數據,但各種viewer不一樣對于拿數據的期望也不一樣,
ContentProvider,LabelProvider解決了上述問題,不同ContentProvider定義了該viewer所期望的拿數據的接口,其實我覺得swing中的model在意義上類似于ContentProvider.
其實感覺JFace的做法在盡量強制你必須構建獨立于GUI的模型.
而swing的話并沒有這種侵入性,你可以直接實現viewer的模型接口如
class Mymodel implenents TableModel{
}
也可以定義比較獨立的模型然后用對象適配器模式將它們適配到viewer model上!
在JFace的ContentViewer抽象中下面的三個方法反映它對待模型的思路:
public void setContentProvider(IContentProvidercontentProvider)
public void setInput(Object input)
public void setLabelProvider(IBaseLabelProvider labelProvider)
顯然setInput是用來配置view背后的數據,從它的參數類型(Object)來講應該是你的與view無關的領域模型.
從這里就可以看出它和swing的根本差異.swing各種不同viewer(在swing的世界叫JComponent)背后的模型是因不同組件而不同的,模型的接口是反應了該組件特征的.
如 JTable 背后的TableModel,TableModel接口的定義基本表達了作為一個二維表格期望獲得數據的方式如TableModel中有定義這樣的方法:
Objetc getValueAt(int row,int column)
在JFace中直接可以放入Object類型數據,但各種viewer不一樣對于拿數據的期望也不一樣,
ContentProvider,LabelProvider解決了上述問題,不同ContentProvider定義了該viewer所期望的拿數據的接口,其實我覺得swing中的model在意義上類似于ContentProvider.
其實感覺JFace的做法在盡量強制你必須構建獨立于GUI的模型.
而swing的話并沒有這種侵入性,你可以直接實現viewer的模型接口如
class Mymodel implenents TableModel{
}
也可以定義比較獨立的模型然后用對象適配器模式將它們適配到viewer model上!
re: 初次感受SWT hhh 2006-11-09 09:32
Swing是MVC設計的典范
不管你的項目是否用到了Swing技術,我都要說,Swing是一個設計優秀的Java包,它充滿了大師的智慧。如果你學了Java卻連一個 Button還不會寫,就象你學習Visual Basic卻不會用Button,那可絕對是不能被原諒的。Swing技術的應用已經在國外大行其道,由于java的免費、易學以及大家對于java技術的充分信賴,好多公司早早的就把應用程序的一切,從后臺服務到前臺人機交互界面,統統移到了java開發上。Swing出現了快10年了,憑借其先進的設計思想,一直未曾落后于哪種語言的界面開發技術,使用和理解Swing的設計思想,對軟件開發者大有裨益。
Swing的設計是MVC的典范。雖然MVC的概念有點泛濫,可是真正能夠理解并熟練掌握、在設計和開發里面自然流露的并不多見。記得用VC ++開發程序時候,MFC向導也是生成Document和View兩個類,當時一直奇怪為什么這么繞圈子。再看Swing的設計,則到處充滿了MVC的痕跡。仔細研究Swing中事件監聽、Model-View分離、Renderer/Editor機制、可插拔的LookAndFeel等機制,簡直就是一門藝術,充滿了美感。而如果你非常痛恨這些設計并覺得他們怪異,很可能你是剛從VB或者Delphi轉過來,這些快速開發工具幫助了你也“害”了你。
Swing設計的不錯,不過可能過度學術化的設計也使得Swing跑起來并不靈巧,學習難度也大。這客觀上確實使得Swing一直沒有被廣泛使用,而且廣受詬病。記得以前“Swing有什么成功的應用嗎?”之類的帖子一直是熱門話題。IBM等則趁機抓住小辮子弄了SWT吸引了不少人,使得 Java GUI技術面臨分裂的危險。
不過隨著JAVA的不斷升級和優化,Swing的速度一直在提高,美觀性也在改善,基于Swing的成功應用也越來越多了。關于Swing是否消亡或被SWT代替或是否能作桌面應用的爭論逐漸少了。不過喜歡并精通Swing技術的開發者,尤其在國內,依舊非常少。
好在情況在轉好。Sun正意識到Eclipse和SWT所帶來的威脅,下了大力氣發展NetBeans,其最新版本對Swing GUI可視化設計的支持已經超過了所有對手,其Rich Client框架也走向成熟,這對Swing的發展和應用是一個很大的推動。隨著WEB熱潮的減退,人們又更多的開始理性的思考B/S和C/S架構的選擇,某些領域Swing技術已經成為首選的解決方案。隨著JGoodies、JIDE、TWaver等優秀Swing產品的不斷涌現,Swing會以更快速度在桌面應用中普及。
不管你的項目是否用到了Swing技術,我都要說,Swing是一個設計優秀的Java包,它充滿了大師的智慧。如果你學了Java卻連一個 Button還不會寫,就象你學習Visual Basic卻不會用Button,那可絕對是不能被原諒的。Swing技術的應用已經在國外大行其道,由于java的免費、易學以及大家對于java技術的充分信賴,好多公司早早的就把應用程序的一切,從后臺服務到前臺人機交互界面,統統移到了java開發上。Swing出現了快10年了,憑借其先進的設計思想,一直未曾落后于哪種語言的界面開發技術,使用和理解Swing的設計思想,對軟件開發者大有裨益。
Swing的設計是MVC的典范。雖然MVC的概念有點泛濫,可是真正能夠理解并熟練掌握、在設計和開發里面自然流露的并不多見。記得用VC ++開發程序時候,MFC向導也是生成Document和View兩個類,當時一直奇怪為什么這么繞圈子。再看Swing的設計,則到處充滿了MVC的痕跡。仔細研究Swing中事件監聽、Model-View分離、Renderer/Editor機制、可插拔的LookAndFeel等機制,簡直就是一門藝術,充滿了美感。而如果你非常痛恨這些設計并覺得他們怪異,很可能你是剛從VB或者Delphi轉過來,這些快速開發工具幫助了你也“害”了你。
Swing設計的不錯,不過可能過度學術化的設計也使得Swing跑起來并不靈巧,學習難度也大。這客觀上確實使得Swing一直沒有被廣泛使用,而且廣受詬病。記得以前“Swing有什么成功的應用嗎?”之類的帖子一直是熱門話題。IBM等則趁機抓住小辮子弄了SWT吸引了不少人,使得 Java GUI技術面臨分裂的危險。
不過隨著JAVA的不斷升級和優化,Swing的速度一直在提高,美觀性也在改善,基于Swing的成功應用也越來越多了。關于Swing是否消亡或被SWT代替或是否能作桌面應用的爭論逐漸少了。不過喜歡并精通Swing技術的開發者,尤其在國內,依舊非常少。
好在情況在轉好。Sun正意識到Eclipse和SWT所帶來的威脅,下了大力氣發展NetBeans,其最新版本對Swing GUI可視化設計的支持已經超過了所有對手,其Rich Client框架也走向成熟,這對Swing的發展和應用是一個很大的推動。隨著WEB熱潮的減退,人們又更多的開始理性的思考B/S和C/S架構的選擇,某些領域Swing技術已經成為首選的解決方案。隨著JGoodies、JIDE、TWaver等優秀Swing產品的不斷涌現,Swing會以更快速度在桌面應用中普及。
re: 初次感受SWT hhh 2006-11-09 09:27
如果你非要這么說,
那么我也可說SWT在重用和靈活性方面不可和swing同日而語!
swing靈活和重用的藝術 renderer/editor
說到GUI類庫的重用有一個很著名的模式:Composite模式。對,一個現代面向對象GUI類庫基本上都有這個模式的實現,當然也包括swing.不過早一點如MFC就沒有完整的實現,現在來看如果一個GUI類庫連基本的Composite模式都沒有實現基本上感覺是出土的文物啦!
但是我們來看即便有了Composite模式,但Composite模式通常是構建靜態組合,如果要動態的替換一個復合組件內部的子元素如何辦呢?如此一來這個組件就只能定義自己的布局形式,而不能定死在這個布局形式內的元素。
其實從用戶角度來說一個GUI元素通常就是兩種情況要么就是表現,要么就是處于和用戶交互狀態,這是它們的形態通常不一樣。所以組件不僅僅要只定義自己的布局形式,還要給于外部機會來配置當自己的子元素處于這兩種狀態時相應的UI組件是什么!
swing通過renderer/editor達到了這種靈活性。如swing中JTable,JList,JTree等組件都只是定義了自己的布局形式。并且都可以配置renderer/editor,這樣你的renderer/editor實現就接管了組件里面元素的表現形式和交互形態。理論上你可以用任何JComponent作為組件里面元素的表現形式和交互形態。其靈活性和重用性達到了一個巔峰!
以前還聊過一個JTable的例子!
http://www.douban.com/group/topic/1112689/
http://www.douban.com/group/topic/1261109/
那么我也可說SWT在重用和靈活性方面不可和swing同日而語!
swing靈活和重用的藝術 renderer/editor
說到GUI類庫的重用有一個很著名的模式:Composite模式。對,一個現代面向對象GUI類庫基本上都有這個模式的實現,當然也包括swing.不過早一點如MFC就沒有完整的實現,現在來看如果一個GUI類庫連基本的Composite模式都沒有實現基本上感覺是出土的文物啦!
但是我們來看即便有了Composite模式,但Composite模式通常是構建靜態組合,如果要動態的替換一個復合組件內部的子元素如何辦呢?如此一來這個組件就只能定義自己的布局形式,而不能定死在這個布局形式內的元素。
其實從用戶角度來說一個GUI元素通常就是兩種情況要么就是表現,要么就是處于和用戶交互狀態,這是它們的形態通常不一樣。所以組件不僅僅要只定義自己的布局形式,還要給于外部機會來配置當自己的子元素處于這兩種狀態時相應的UI組件是什么!
swing通過renderer/editor達到了這種靈活性。如swing中JTable,JList,JTree等組件都只是定義了自己的布局形式。并且都可以配置renderer/editor,這樣你的renderer/editor實現就接管了組件里面元素的表現形式和交互形態。理論上你可以用任何JComponent作為組件里面元素的表現形式和交互形態。其靈活性和重用性達到了一個巔峰!
以前還聊過一個JTable的例子!
http://www.douban.com/group/topic/1112689/
http://www.douban.com/group/topic/1261109/
re: 初探eclipse RCP 有些問題? hhh 2006-10-27 18:20
那么也就是說還是要繼承,我們也確實無法獲得viewpart實例的引用。
那么我運行時要作一些改變怎么辦呢!
eclipse這樣設計的深刻意義在那呢?
那么我運行時要作一些改變怎么辦呢!
eclipse這樣設計的深刻意義在那呢?
re: 我很希望B/S快點退出歷史舞臺! hhh 2006-10-20 12:21
@瘋流成性
呵呵,如果是這樣的話
這個能實現了
但我們更需要互聯網是一個"服務空間",技術一點的話叫"Application空間",只是這些Application要以服務的方式提供出去.所以人性化的講法叫"服務空間".
呵呵,如果是這樣的話
這個能實現了
但我們更需要互聯網是一個"服務空間",技術一點的話叫"Application空間",只是這些Application要以服務的方式提供出去.所以人性化的講法叫"服務空間".
re: 使用JFCUnit進行GUI單元測試 hhh 2006-10-20 09:20
好,Swing 同仁也!
re: 我很希望B/S快點退出歷史舞臺! hhh 2006-10-19 13:15
希望大家繼續發表看法!
re: 我很希望B/S快點退出歷史舞臺! hhh 2006-10-18 18:09
@飛來的
我覺得很顯然你沒有仔細看,AJAX只不過是"b/s增強前臺交互能力的方向"發展!是進一步扭曲的發展.
flex就比它徹底多!
在客戶端-服務器的領域,delphi、VB等等將徹底退出歷史舞臺,更不必說swing、awt、swt之類的了
______________________________
還有顯然你也不了解swing,swing的設計充滿了oo的藝術.delphi、VB從思想上顯然是落后于swing的!
我覺得很顯然你沒有仔細看,AJAX只不過是"b/s增強前臺交互能力的方向"發展!是進一步扭曲的發展.
flex就比它徹底多!
在客戶端-服務器的領域,delphi、VB等等將徹底退出歷史舞臺,更不必說swing、awt、swt之類的了
______________________________
還有顯然你也不了解swing,swing的設計充滿了oo的藝術.delphi、VB從思想上顯然是落后于swing的!
re: 我很希望B/S快點退出歷史舞臺! hhh 2006-10-18 11:21
@49Degree
如果按照你所說,B/S快點退出歷史舞臺,Google,Yahoo,Baidu都會通通和人們說 ByeBye!!!!!
_____________________________________________________
他們一定要用B/S才能提供他們的服務。
是你的思想狹隘了吧!
那么我估計你會想用RMB買單也是個糟糕的體驗,刷刷卡多好...
——————————————————————————————
這個到不覺得,有時候刷卡更麻煩,耗時!
如果按照你所說,B/S快點退出歷史舞臺,Google,Yahoo,Baidu都會通通和人們說 ByeBye!!!!!
_____________________________________________________
他們一定要用B/S才能提供他們的服務。
是你的思想狹隘了吧!
那么我估計你會想用RMB買單也是個糟糕的體驗,刷刷卡多好...
——————————————————————————————
這個到不覺得,有時候刷卡更麻煩,耗時!
re: 我很希望B/S快點退出歷史舞臺! hhh 2006-10-18 10:03
@TonyZhao
悲哉~我不是正覺得糟糕的體驗,特不爽嗎!
悲哉~我不是正覺得糟糕的體驗,特不爽嗎!
re: 我很希望B/S快點退出歷史舞臺! hhh 2006-10-17 20:40
還是希望大家談談看法!
re: 我很希望B/S快點退出歷史舞臺! hhh 2006-10-17 18:31
不好意思,我剛從豆瓣上寫的搬到這里來,那邊是對話式的,忘了整理一下了!
re: 一個電子書下載工具 hhh 2006-10-17 10:09
@marco
那你倒是加入不加入啊!
談談你對swing的看法阿!
那你倒是加入不加入啊!
談談你對swing的看法阿!
re: 一個電子書下載工具 hhh 2006-10-16 18:41
如果有個下載列表就好了,并且支持暫停.
還有lookandfeel最好用系統的,不要用java那個,也過于丑陋了!
摟住喜歡swing嗎.
我在豆瓣上開了一個小組
http://www.douban.com/group/15620/
以前看MVC,面向對象,設計模式,然而當用VB,powerbuilder等寫
GUI程序時難以表達MVC,因為它們的架構完全不鼓勵模型視圖的分離。
像MFC對于GUI的抽象也是很糟糕,直到我看到swing的時候,才算真的看到了一個面向對象的GUI框架。
swing充滿了大師的智慧!
還有lookandfeel最好用系統的,不要用java那個,也過于丑陋了!
摟住喜歡swing嗎.
我在豆瓣上開了一個小組
http://www.douban.com/group/15620/
以前看MVC,面向對象,設計模式,然而當用VB,powerbuilder等寫
GUI程序時難以表達MVC,因為它們的架構完全不鼓勵模型視圖的分離。
像MFC對于GUI的抽象也是很糟糕,直到我看到swing的時候,才算真的看到了一個面向對象的GUI框架。
swing充滿了大師的智慧!
re: 【原創】深入探究JFreeChart(1) hhh 2006-09-08 09:56
re: 最近的精力放在了GUI上面了。 hhh 2006-07-28 17:51
Swing:
Sun優秀科學家和Netscape杰出工程師的作品!
Swing出現了快10年了,憑借其先進的設計思想,一直未曾落后于哪種語言的界面開發技術,使用和理解Swing的設計思想,對軟件開發者大有裨益。
http://www.douban.com/group/15620/
我在豆瓣上開的小組,有興趣聊聊!
swing是我第一個見到的真正的面向對象的GUI框架,有著對設計模式的大量實踐!
Sun優秀科學家和Netscape杰出工程師的作品!
Swing出現了快10年了,憑借其先進的設計思想,一直未曾落后于哪種語言的界面開發技術,使用和理解Swing的設計思想,對軟件開發者大有裨益。
http://www.douban.com/group/15620/
我在豆瓣上開的小組,有興趣聊聊!
swing是我第一個見到的真正的面向對象的GUI框架,有著對設計模式的大量實踐!
re: 字符集的編(解)碼的總結 hhh 2006-06-29 09:17
簡單一句話來說,不同編碼解碼就是對同一串二進制數據的不同詮釋。
re: SWT: 深入內幕之消息機制探秘(上篇) hhh 2006-06-19 11:15
能否談談swing呢!
re: YY一下未來的用戶界面 hhh 2006-06-19 10:52
對于互連網應用,longhorn是一個里程碑!
re: 學習Swing的一點體會 hhh 2006-05-11 10:09
就拿JTable來說,JTable就是View的部分,而TableModel就是M的部分.
JTable應該是controller,負責UI的才是view,它們實現相應的look and feel
swing是一件藝術品,有著相當優秀的架構。
JTable應該是controller,負責UI的才是view,它們實現相應的look and feel
swing是一件藝術品,有著相當優秀的架構。
re: [Eclipse筆記]SWT真正的優勢不是快這么簡單 hhh 2006-05-11 09:32
Swing可以做到完全模仿某一個風格,但那始終是模仿出來的.
本地的圖形也是繪出來的,Swing用 java實現又怎么了。
Swing也是一個繪制框架,它有極大的靈活性來實現一個新的look and feel.
Swing是一件藝術品且具有極高的實用性。
本地的圖形也是繪出來的,Swing用 java實現又怎么了。
Swing也是一個繪制框架,它有極大的靈活性來實現一個新的look and feel.
Swing是一件藝術品且具有極高的實用性。
re: Eclipse下的JavaScript編輯器 hhh 2005-09-30 10:15
NRG JavaScript Editor 我怎么安裝上去竟然出錯。
下載plugins和網上update安裝都是出錯。
另外WTP中javascritp怎么弄出code assist啊??
下載plugins和網上update安裝都是出錯。
另外WTP中javascritp怎么弄出code assist啊??