论坛首页 Java企业应用论坛

swing开发的系统

浏览 39711 次
精华帖 (10) :: 良好帖 (4) :: 新手帖 (0) :: 隐藏帖 (5)
作者 正文
   发表时间:2010-04-05  
GH0769 写道
GUI栏位的布局部分:
其实我定义了数据库表中的一列是否要显示,显示的 高,宽后直接使用通用生成函数生成详细信息。当然对于个别比较复杂的界面,那么需要硬代码来定义GUI布局。不过大部分窗口都可以通用定义。详细信息窗口全部使用gridbaglayout布局管理器

其实我说的就是那种详细信息窗口,有很多栏位的那种表单窗口,这种画面一般都需要人为设计布局,这种情况下就是NetBeans可视化设计器发挥作用的地方了。比如你用gridbaglayout来布局,所以应该是手写的吧,我不知道你的软件里面这种详细信息画面有多少,否则写这种布局代码终究是无聊和繁琐,所以可视化设计器我认为是很必要的。
0 请登录后投票
   发表时间:2010-04-05  
使用FileMap等原理都是一样的,无非就是通过后台的定义表现数据库表的列的信息,然后前台会根据这些列的信息来生成界面。所以你的思路应该是可以的。只是大家的集成的方式不一样。
0 请登录后投票
   发表时间:2010-04-05   最后修改:2010-04-05
godfish 写道
这和Delphi、VB来做有什么区别

我想最重要的区别可能就是跨平台吧,另外从设计上来说Swing设计的比较好,Swing应该说一个比较现代的GUI框架,作为一种强类型语言写成的GUI库,已经设计非常好了。微软平台要到.Net WinForm2.0之后才算和Swing差不多,WinForm2.0 MFC的影子已经很少了,也算比较充分利用C#重新设计的一个现代OO的GUI库了,当然微软平台现在已经有WPF了,这个更好,不过在XP平台上也许还是WinForm更佳。
0 请登录后投票
   发表时间:2010-04-05  
我到觉得使用代码要比NetBeans等可视化的工具爽的多,应该使用这些工具是你的代码变得凌乱,并且我的控件不是直接使用swing的控件,而是在swing控件的基础上扩展了,那么想让这些你扩展的控件出现在NetBeans的空间集上的话,是不是需要额外的开发?如果我现在使用代码的话,基本都是按照模板来的,大致都一样:
//定义控件
type = new JdbComboBox(detailMSet, "type");
rec = new JdbComboBox(detailMSet, "rec");
title = new JdbTextField(detailMSet, "title");


ExGridLayout layout = new ExGridLayout();//封装布局管理器
//定义布局的面板
JPanel centerPanel = new JPanel();
centerPanel.setLayout(new GridBagLayout());//使用GridBagLayout
//控件的标签
centerPanel.add(new JdbLabel(title), layout.getGridBagConstraints(0, 0, 1, 1, 0));
//控件本身
centerPanel.add(title, layout.getGridBagConstraints(1, 0, 5, 1, 0));
centerPanel.add(new JdbLabel(type), layout.getGridBagConstraints(0, 1, 1, 1, 0));
centerPanel.add(type, layout.getGridBagConstraints(1, 1, 1, 1, 1));
centerPanel.add(new JdbLabel(rec), layout.getGridBagConstraints(0, 9, 1, 1, 0));
centerPanel.add(rec, layout.getGridBagConstraints(1, 9, 1, 1, 1));

这些控件的代码都是比较简单的,只需要定义1, 9, 1, 1, 1这些数字就行了,分别代表要显示在第一行,第几列,跨越多少行,多少列,是否是根据窗口大小而自动填充等。


0 请登录后投票
   发表时间:2010-04-05  
我觉得GUI开发走向更方便之路就是声明式,如果大家看过JavaFX的话,就会发现JavaFX脚本语言非常方便,它在语言级别上直接支持绑定,绑定对于GUI开发来说是一个非常重要的东西,如果这个东西强大,那么将非常方便。不然的话手动写大量命令式的事件代码也是非常繁琐的。
0 请登录后投票
   发表时间:2010-04-05  
可以给一个具体的例子吗?毕竟很多跟你开发的系统的架构是联系在一起的,能否跟现有的系统集成比较关键,好像很多swing的插件,我们拿过来根本无法使用,必须要修改然后才能集成。
0 请登录后投票
   发表时间:2010-04-05  
GH0769 写道
我到觉得使用代码要比NetBeans等可视化的工具爽的多,应该使用这些工具是你的代码变得凌乱,并且我的控件不是直接使用swing的控件,而是在swing控件的基础上扩展了,那么想让这些你扩展的控件出现在NetBeans的空间集上的话,是不是需要额外的开发?如果我现在使用代码的话,基本都是按照模板来的,大致都一样:
//定义控件
type = new JdbComboBox(detailMSet, "type");
rec = new JdbComboBox(detailMSet, "rec");
title = new JdbTextField(detailMSet, "title");


ExGridLayout layout = new ExGridLayout();//封装布局管理器
//定义布局的面板
JPanel centerPanel = new JPanel();
centerPanel.setLayout(new GridBagLayout());//使用GridBagLayout
//控件的标签
centerPanel.add(new JdbLabel(title), layout.getGridBagConstraints(0, 0, 1, 1, 0));
//控件本身
centerPanel.add(title, layout.getGridBagConstraints(1, 0, 5, 1, 0));
centerPanel.add(new JdbLabel(type), layout.getGridBagConstraints(0, 1, 1, 1, 0));
centerPanel.add(type, layout.getGridBagConstraints(1, 1, 1, 1, 1));
centerPanel.add(new JdbLabel(rec), layout.getGridBagConstraints(0, 9, 1, 1, 0));
centerPanel.add(rec, layout.getGridBagConstraints(1, 9, 1, 1, 1));

这些控件的代码都是比较简单的,只需要定义1, 9, 1, 1, 1这些数字就行了,分别代表要显示在第一行,第几列,跨越多少行,多少列,是否是根据窗口大小而自动填充等。




比如你//控件本身下的代码,现在栏位比较少,就是4到5行代码,如果是几十个栏位,就要写很多,而且还要注意GridBagConstraints里面的参数。
这些通过NetBeans设计器都可以省心掉了,我一般不会看netbeans生成的那个initComponent()函数。

另外你自己的组件很容易就可以加到NetBeans的工具集上的,不需要什么额外的开发。
0 请登录后投票
   发表时间:2010-04-05  
我觉得你可以下一个NetBeans下来先玩一下,现在最新版是6.8版本,已经各方面都不错了,以前NetBeans虽然有好的可视化设计器,但是其他方面比Eclipse差,所以也很不爽,现在发展的已经不错了。
0 请登录后投票
   发表时间:2010-04-05  
也没错,不过我还是希望我的代码简洁有序,成规律性。不过我没有使用过netbeans,不知道具体的他生成的代码是怎么样的。我试图把我的系统转移到netbeans上编译时,速度慢的惊人,并且外观,字体,快捷键,速度等方面还是觉得eclipse好很多。
0 请登录后投票
   发表时间:2010-04-06  
说实在的 习惯了eclipse。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics