请java高手帮忙,解决一个难题呀?心急呀!
下面这个问题只是看到网上,有好多人谈论,但是并没有人去做。我真想将它的效果实现出来,可是自己的力量太小了,请各位java爱好者帮帮忙,解决一下,好让众多的初学者都能感到j...
下面这个问题只是看到网上,有好多人谈论,但是并没有人去做。我真想将它的效果实现出来,可是自己的力量太小了,请各位java爱好者帮帮忙,解决一下,好让众多的初学者都能感到java也是有趣味的。俗话说重要人物都最后出场,作为Swing篇的完结部分,我为大家隆重推荐一个GlassPane的实现—InfiniteProgressPanel。 这是在程序进行更新的时候能够给用户以提示,可以屏蔽用户操作而且十分美观的特殊进度条。它源于一个超级Java大牛的手笔,此君的《Swing Hacker》在去年如带给我的震撼到现在还挥之不去。从那以后,谁再敢说Java不能做出好看的用户界面之前都需要自己好好掂量一下自己是否有这么说的资格。这本书让我真正认识到,只有想不到没有做不到。都是一样用Swing,为啥人家就能玩出花样呢?差距! 其实现原理很简单,说白了就是用Java2D画圈!至于源码各位可以到网上自己搜。他的使用十分简单:InfiniteProgressPanel glassPane = new InfiniteProgressPanel();frame.setGlassPane(glassPane) 在需要它显示的时候,就这样做:Thread myThread = new Thread(new Runnable(){public void run() {InfiniteProgressPanel gl = thisRef.glassPane;gl.start();gl.setText("正在保存数据请稍候....");try {//这里放要做的事情……gl.setText("保存完毕,欢迎使用!");Thread.sleep(1000);}catch(InterruptedException ex) {}finally{gl.stop();}}});myThread.start(); 这里有几个问题需要注意: 1. 必须要将InfiniteProgressPanel的显示放到一个线程里,相信大家都知道原因,我不用多说。 2. 在InfiniteProgressPanel结束之前的Thread.sleep(1000);是必要的,如果时间设得太短或不设将会导致InfiniteProgressPanel死掉。至于原因我没有时间深究,各位有兴趣可以自行察看其源码,如果你能找到原因高诉我,我会非常感激。 3. 在有些时候会出现圆圈“四处乱窜”的现象,不过不太常见。
展开
4个回答
展开全部
hi,朋友。在这里我衷心的给你提点建议。在你学习好编程之前需要很好的掌握两件事情。
1. “文字排版” ,这年头连网上的H*小说如果不好好排版都没人看的,更何况是一堆代码和逻辑请很强的文字呢?
2.“语言及文字表达”,在你上面所提的问题中我无法清晰的看出你的问题是什么?在你的内容中首先你表达了求助的意思,然后应该是粘贴了一份其他其他来源的资料,在这两段之间最好有个过度性的转折,否则会感到很突兀。 最后的“几个需要注意的问题”最是奇怪,这是你提出的问题还是资料中别人提出的问题呢?我很难理解。
好了。综上所述,目前我很难帮到你。希望你能够吧思路和语言理顺再提问题。
1. “文字排版” ,这年头连网上的H*小说如果不好好排版都没人看的,更何况是一堆代码和逻辑请很强的文字呢?
2.“语言及文字表达”,在你上面所提的问题中我无法清晰的看出你的问题是什么?在你的内容中首先你表达了求助的意思,然后应该是粘贴了一份其他其他来源的资料,在这两段之间最好有个过度性的转折,否则会感到很突兀。 最后的“几个需要注意的问题”最是奇怪,这是你提出的问题还是资料中别人提出的问题呢?我很难理解。
好了。综上所述,目前我很难帮到你。希望你能够吧思路和语言理顺再提问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询