嗯,我在互联网上搜索了很多,但一直找不到答案,也许有人能提供一些见解。
我正在开发一个相对简单的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;
}
}