现在就是未来!采用XML方式Swing自动布局的设想

现在就是未来!采用XML方式Swing自动布局的设想

ID:40503428

大小:172.22 KB

页数:5页

时间:2019-08-03

现在就是未来!采用XML方式Swing自动布局的设想_第1页
现在就是未来!采用XML方式Swing自动布局的设想_第2页
现在就是未来!采用XML方式Swing自动布局的设想_第3页
现在就是未来!采用XML方式Swing自动布局的设想_第4页
现在就是未来!采用XML方式Swing自动布局的设想_第5页
资源描述:

《现在就是未来!采用XML方式Swing自动布局的设想》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Swing采用XML的方式自动布局的设想抗争的诗人lnwazg@126.com众所周知,java很强大,其强大性主要体现在成熟的社区组织、各类第三方开源的jar类库。所有的这些第三方的功能包,都极大地拓宽了java的适用范围。自动垃圾回收机制,让编写java应用变得轻松自然。但桌面应用一直是java的软肋。长久以来,swing需要采用拖沓冗余的代码来实现复杂的界面布局、“重口味”的原生swing界面,均让Swing这一领域一直不愠不火。Swing界面刷新机制EDT里面的坑,均吓倒了一大批欲在这个领域做出点什么的新人。个人认为,布局代码“不直观”,是摆在swing开发者尤其是面

2、前的第一道大关。但是这个问题在安卓领域却早已拥有成熟的解决方案:采用xml方式布局。那么,比安卓历史更久的Swing技术为何还没有一个简单易用的xml布局工具?举个例子:为了实现以下的界面,我们要写这么长的布局代码:privatevoidinitViews(){this.editServerIp=newJTextField(16);this.editServerPort=newJTextField(5);this.editServerIp.setForeground(newColor(13,148,252));this.editServerPort.setForeground

3、(newColor(13,148,252));this.editServerIp.setText("rbcore.openmob.net");this.editServerPort.setText("7901");this.btnLogin=newJButton("登陆");this.btnLogin.setUI(newBEButtonUI().setNormalColor(BEButtonUI.NormalColor.blue));this.btnLogin.setForeground(Color.white);this.editLoginName=newJTextFiel

4、d(22);this.editLoginPsw=newJPasswordField(22);this.btnLogout=newJButton("退出");this.viewMyid=newJLabel();this.viewMyid.setForeground(newColor(255,0,255));this.viewMyid.setText("未登陆");this.btnSend=newJButton("发送消息");this.btnSend.setUI(newBEButtonUI().setNormalColor(BEButtonUI.NormalColor.gree

5、n));this.btnSend.setForeground(Color.white);this.editId=newJTextField(20);this.editContent=newJTextField(20);this.debugPane=newJTextPane();this.debugPane.setBackground(Color.black);this.debugPane.setCaretColor(Color.white);Log.getInstance().setLogDest(this.debugPane);this.imInfoPane=newJTex

6、tPane();HardLayoutPaneauthPanel=newHardLayoutPane();JPanelserverInfoPane=newJPanel(newBorderLayout());JPanelportInfoPane=newJPanel(newBorderLayout());portInfoPane.add(newJLabel(":"),"West");portInfoPane.add(this.editServerPort,"Center");serverInfoPane.add(this.editServerIp,"Center");serverI

7、nfoPane.add(portInfoPane,"East");authPanel.addTo(serverInfoPane,2,true);authPanel.nextLine();authPanel.addTo(newJLabel("用户名:"),1,true);authPanel.addTo(this.editLoginName,1,true);authPanel.nextLine();authPanel.addTo(newJLabel("密码:"),1,true);authPanel.addT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。