📄 swing 多线程事件处理进度条和observer的一个具体应用 - myjava - blogjava.htm
字号:
<LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--zht
<LI style="WORD-BREAK: break-all"><A
id=SingleColumn1__1965ff0_CommentList_ctl02_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/20/110878.html#112188">2. re:
Java语言编码规范(Java Code Conventions)</A>
<LI style="WORD-BREAK: break-all">每个公司都有自己特定的一套编码规范,没有必要千篇一律。
<LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--我为J狂
<LI style="WORD-BREAK: break-all"><A
id=SingleColumn1__1965ff0_CommentList_ctl03_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/17/110878.html#111150">3. re:
Java语言编码规范(Java Code Conventions)</A>
<LI style="WORD-BREAK: break-all">不错,Up!
<LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--久城
<LI style="WORD-BREAK: break-all"><A
id=SingleColumn1__1965ff0_CommentList_ctl04_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/17/110976.html#111130">4. re:
设计模式之Observer</A>
<LI style="WORD-BREAK: break-all">@刘甘泉 <BR>反正感觉挺像的 <BR>抽空研究研究源代码看看
<LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--zht
<LI style="WORD-BREAK: break-all"><A
id=SingleColumn1__1965ff0_CommentList_ctl05_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/17/110595.html#111129">5. re:
自动设置环境变量 </A>
<LI style="WORD-BREAK: break-all">@Fadesky <BR>这个setx其实是一个系统文件,在system32下
<BR>不过有的系统没有,所以我才把这个单独拿出来了
<LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--zht </LI></UL></DIV>
<H3>阅读排行榜</H3>
<DIV class=RecentComment>
<UL style="WORD-BREAK: break-all">
<LI><A id=SingleColumn1__736300_TopList_ctl01_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/16/110878.html">1. Java语言编码规范(Java
Code Conventions)(2970)</A>
<LI><A id=SingleColumn1__736300_TopList_ctl02_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/17/111221.html">2. Swing
多线程事件处理进度条和Observer的一个具体应用(1113)</A>
<LI><A id=SingleColumn1__736300_TopList_ctl03_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/14/110595.html">3. 自动设置环境变量
(971)</A>
<LI><A id=SingleColumn1__736300_TopList_ctl04_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/16/110976.html">4. 设计模式之Observer(936)</A>
<LI><A id=SingleColumn1__736300_TopList_ctl05_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/01/25/95996.html">5. JTextPane
修改字体颜色(263)</A> </LI></UL></DIV>
<H3>评论排行榜</H3>
<DIV class=RecentComment>
<UL style="WORD-BREAK: break-all">
<LI><A id=SingleColumn1__1417d12_TopList_ctl01_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/16/110976.html">1. 设计模式之Observer(5)</A>
<LI><A id=SingleColumn1__1417d12_TopList_ctl02_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/16/110878.html">2. Java语言编码规范(Java
Code Conventions)(4)</A>
<LI><A id=SingleColumn1__1417d12_TopList_ctl03_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/14/110595.html">3. 自动设置环境变量
(2)</A>
<LI><A id=SingleColumn1__1417d12_TopList_ctl04_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/02/07/98481.html">4. APPLET调用本地资源(2)</A>
<LI><A id=SingleColumn1__1417d12_TopList_ctl05_Hyperlink1
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/09/109319.html">5. 四舍五入方法&&Text失去焦点触发事件(0)</A>
</LI></UL></DIV></DIV></DIV>
<DIV id=centercontent><!--done-->
<DIV class=post>
<DIV class=postTitle><A class=postTitle2 id=viewpost1_TitleUrl
href="http://www.blogjava.net/Sprite-bei/archive/2007/04/17/111221.html">Swing
多线程事件处理进度条和Observer的一个具体应用</A>
</DIV> Swing的事件处理中,对于非常费时的处理如果不用多线程会造成主界面的阻塞,即界面一片白色,这样非常不好的,也是不提倡的,而起用多线程进行事件处理又面临一个问题即如果通知用户事件处理的进度,是否处理完成,所以最好在处理的过程中给用户一提示,标明处理的进度信息。这种提示可以用进度条的信息来表示出来,以下就是一个用进度条来标示事件进度的一个简单实例,这个例子中还使用了Observer模式<BR>进度窗口:<BR>
<DIV
style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top><SPAN style="COLOR: #0000ff">package</SPAN><SPAN
style="COLOR: #000000"> pro;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top><BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> java.awt.BorderLayout;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> java.awt.Color;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> java.awt.event.ActionEvent;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> java.awt.event.ActionListener;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> java.util.Observable;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> java.util.Observer;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top><BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> javax.swing.JButton;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> javax.swing.JLabel;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> javax.swing.JPanel;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> javax.swing.JProgressBar;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/None.gif"
align=top><BR><IMG id=Codehighlighter1_389_2585_Open_Image
onclick="this.style.display='none'; Codehighlighter1_389_2585_Open_Text.style.display='none'; Codehighlighter1_389_2585_Closed_Image.style.display='inline'; Codehighlighter1_389_2585_Closed_Text.style.display='inline';"
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/ExpandedBlockStart.gif"
align=top><IMG id=Codehighlighter1_389_2585_Closed_Image style="DISPLAY: none"
onclick="this.style.display='none'; Codehighlighter1_389_2585_Closed_Text.style.display='none'; Codehighlighter1_389_2585_Open_Image.style.display='inline'; Codehighlighter1_389_2585_Open_Text.style.display='inline';"
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/ContractedBlock.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN
style="COLOR: #000000"> </SPAN><SPAN
style="COLOR: #0000ff">class</SPAN><SPAN
style="COLOR: #000000"> Progress </SPAN><SPAN
style="COLOR: #0000ff">extends</SPAN><SPAN
style="COLOR: #000000"> javax.swing.JDialog </SPAN><SPAN
style="COLOR: #0000ff">implements</SPAN><SPAN
style="COLOR: #000000"> ActionListener </SPAN><SPAN
id=Codehighlighter1_389_2585_Closed_Text
style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/dot.gif"></SPAN><SPAN
id=Codehighlighter1_389_2585_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG
id=Codehighlighter1_392_404_Open_Image
onclick="this.style.display='none'; Codehighlighter1_392_404_Open_Text.style.display='none'; Codehighlighter1_392_404_Closed_Image.style.display='inline'; Codehighlighter1_392_404_Closed_Text.style.display='inline';"
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/ExpandedSubBlockStart.gif"
align=top><IMG id=Codehighlighter1_392_404_Closed_Image style="DISPLAY: none"
onclick="this.style.display='none'; Codehighlighter1_392_404_Closed_Text.style.display='none'; Codehighlighter1_392_404_Open_Image.style.display='inline'; Codehighlighter1_392_404_Open_Text.style.display='inline';"
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/ContractedSubBlock.gif"
align=top> </SPAN><SPAN
id=Codehighlighter1_392_404_Closed_Text
style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</SPAN><SPAN
id=Codehighlighter1_392_404_Open_Text><SPAN
style="COLOR: #008000">/**</SPAN><SPAN style="COLOR: #008000"><BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/InBlock.gif"
align=top> * <BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/ExpandedSubBlockEnd.gif"
align=top> </SPAN><SPAN
style="COLOR: #008000">*/</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/InBlock.gif"
align=top> </SPAN><SPAN
style="COLOR: #0000ff">private</SPAN><SPAN
style="COLOR: #000000"> </SPAN><SPAN
style="COLOR: #0000ff">static</SPAN><SPAN
style="COLOR: #000000"> </SPAN><SPAN
style="COLOR: #0000ff">final</SPAN><SPAN
style="COLOR: #000000"> </SPAN><SPAN
style="COLOR: #0000ff">long</SPAN><SPAN
style="COLOR: #000000"> serialVersionUID </SPAN><SPAN
style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN
style="COLOR: #000000">1L</SPAN><SPAN style="COLOR: #000000">;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/InBlock.gif"
align=top><BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/InBlock.gif"
align=top> </SPAN><SPAN
style="COLOR: #0000ff">private</SPAN><SPAN
style="COLOR: #000000"> JProgressBar pro_JPB;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/InBlock.gif"
align=top><BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/InBlock.gif"
align=top> </SPAN><SPAN
style="COLOR: #0000ff">private</SPAN><SPAN
style="COLOR: #000000"> JPanel btn_JP;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/InBlock.gif"
align=top><BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/InBlock.gif"
align=top> </SPAN><SPAN
style="COLOR: #0000ff">private</SPAN><SPAN
style="COLOR: #000000"> JButton cancel_JB;<BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/InBlock.gif"
align=top><BR><IMG
src="Swing 多线程事件处理进度条和Observer的一个具体应用 - MyJava - BlogJava.files/InBlock.gif"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -