日期:2014-05-20  浏览次数:20646 次

询问:JAVA程序的UI问题若干。最讨厌的就是没两把刷子的瞎起哄。
→  1.当函数执行时间超过0.1秒的时候,鼠标应变成忙光标。请问如何实现。(因为忙光标的状态,一改变过去之后,就会被其它窗口或线程改回去)
→  2.当前焦点的获取。不同焦点对应的同名功能,具体实现是不同的——如Word中“属性”在焦点为图片时为图片属性,在文字为文本属性(上转型实现)。但如何获取当前焦点仍然是个问题。这个问题和前一个问题,感觉很需要全局变量来处理。
→  3.错误应该集中到哪个层次中进行处理。处理层次低了,不能有效体现问题。层次高了,一是破坏抽象,二是增加编程难度。若我把所有错误都放到最根部处理,会不会更便利一些(《代码大全》中给我的印象很深的就是错误集中处理,所以我准备把它们放到一个类中去)
→  4.Tab键的按钮顺序,在Javax.Swing包中没有找到对应的方法。
→  5.控件外观仍然没有确定一个统一的标准。谁能给一个UI标准,就是说按钮长多少像素宽多少像素这种。这个问题最重要。

如果我没有能够及时结帖,请解答过的高手们给我
E-mail:CodeMonkey.416@163.com或
QQ:84163970联系我   这样我才会看见答案   见谅

(因为我除非必要   很少来CSDN,有些广告和有些装懂的人,还有不找资料就随便问别人的人,实在是太讨厌!我最讨厌信息赘余过度!现在搜索什么知识都是重复的!转帖不注明等于偷窃!)

------解决方案--------------------
关于第四个问题,希望楼主参考 Java Tutorial中的 How to Use the Focus Subsystem,我确信你会找到答案的。
------解决方案--------------------
java中设置gui组件tab的顺序
如果可以,尽量以需要的顺序加入panel。否则就使用JComponent.setNextFocusableComponent(Component c) (或 Java 1.4 中的类 java.awt.FocusTraversalPolicy )来强制规定tab顺序。

In most look and feels, components are navigated using the Tab and Shift-Tab keys. These are the default focus traversal keys and can be changed programmatically. For example, you can add Enter as a forward focus traversal key with the following four lines of code:
Set forwardKeys = getFocusTraversalKeys( KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS); Set newForwardKeys = new HashSet(forwardKeys); newForwardKeys.add(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0)); setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, newForwardKeys);


网上找到的
------解决方案--------------------
http://topic.csdn.net/t/20060911/16/5014075.html
这个忙鼠标