java GUI怎么输入_在Swing中创建Java GUI以进行表单输入

好吧,我已经浏览了整个互联网,但却未能找到这个问题的答案,所以也许有人可以提供一些见解.

我正在开发一个相对简单的Java应用程序,它将取代目前用于系统访问请求的Word文档.它旨在允许表单输入新的员工雇用信息 – 名称,所需的访问权限等.

所以这是我的问题.尝试使用所有文本字段和所有内容制作GUI令人惊讶地痛苦.因为每个小部件有点不同,所以在填写表单后获取输入似乎需要为每个小部件单独引用,以便我可以单独调用它们.这意味着一个部分的每个面板有6-10个不同的私有字段. (我尝试将所有类似的小部件添加到列表中并在循环中调用它们,但这似乎不起作用.)

在某些方面,似乎Web表单更适合这种情况,但我没有可用的基础结构.有没有人找到比这更类似的更好的解决方案呢?它似乎只是一大堆代码.请参阅下面的一个想法(我提出了一些评论而不是实际的代码,因为它太长了).谢谢你的期待!

private JComboBox my_dates;

private JTextField my_date1;

private JTextField my_date2;

private JTextField my_request_date;

private JTextField my_new_legal_name;

private JTextField my_new_pref_name;

private JTextField my_new_username;

private JTextField my_prev_legal_name;

private JTextField my_prev_pref_name;

private JTextField my_prev_username;

private JTextField my_emp_id;

private JTextField my_manager;

private JTextField my_auth_requestor;

private JTextField my_auth_phone;

public NameChangePanel(FormSection the_section)

{

super();

initialize();

buildPanel(the_section.getFields());

}

private void initialize()

{

// Create all the widgets individuall

}

private void buildPanel(List the_fields)

{

// add a field label

// add a component

// repeat for all values

}

public List getFormValues()

{

// Call all of the private fields individually

return values;

}

}

解决方法:

Vanilla Swing很冗长 – 没有争论.基本上对于这种事情,我最终依赖于一堆本地生成的util / factory方法,比如createTextBox(),它们被参数化以供常用,并将执行必要的3-8语句.

我有时甚至会参数化布局.我倾向于将所有布局减少到GridBagLayout(其他人做BorderLayout等;这只是个人偏好的问题),然后创建方法,将控件放在网格中的特定点.

如果你不是基于网络的,我会坚持使用Swing.它可能很冗长,但对于一个简单的形式来说并不是那么困难.

标签:java,user-interface,swing

来源: https://codeday.me/bug/20190717/1485554.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值