java GUI怎么输入_在Swing中创建Java GUI以进行表单输入
好吧,我已經(jīng)瀏覽了整個(gè)互聯(lián)網(wǎng),但卻未能找到這個(gè)問(wèn)題的答案,所以也許有人可以提供一些見(jiàn)解.
我正在開(kāi)發(fā)一個(gè)相對(duì)簡(jiǎn)單的Java應(yīng)用程序,它將取代目前用于系統(tǒng)訪問(wèn)請(qǐng)求的Word文檔.它旨在允許表單輸入新的員工雇用信息 – 名稱(chēng),所需的訪問(wèn)權(quán)限等.
所以這是我的問(wèn)題.嘗試使用所有文本字段和所有內(nèi)容制作GUI令人驚訝地痛苦.因?yàn)槊總€(gè)小部件有點(diǎn)不同,所以在填寫(xiě)表單后獲取輸入似乎需要為每個(gè)小部件單獨(dú)引用,以便我可以單獨(dú)調(diào)用它們.這意味著一個(gè)部分的每個(gè)面板有6-10個(gè)不同的私有字段. (我嘗試將所有類(lèi)似的小部件添加到列表中并在循環(huán)中調(diào)用它們,但這似乎不起作用.)
在某些方面,似乎Web表單更適合這種情況,但我沒(méi)有可用的基礎(chǔ)結(jié)構(gòu).有沒(méi)有人找到比這更類(lèi)似的更好的解決方案呢?它似乎只是一大堆代碼.請(qǐng)參閱下面的一個(gè)想法(我提出了一些評(píng)論而不是實(shí)際的代碼,因?yàn)樗L(zhǎng)了).謝謝你的期待!
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很冗長(zhǎng) – 沒(méi)有爭(zhēng)論.基本上對(duì)于這種事情,我最終依賴(lài)于一堆本地生成的util / factory方法,比如createTextBox(),它們被參數(shù)化以供常用,并將執(zhí)行必要的3-8語(yǔ)句.
我有時(shí)甚至?xí)?shù)化布局.我傾向于將所有布局減少到GridBagLayout(其他人做BorderLayout等;這只是個(gè)人偏好的問(wèn)題),然后創(chuàng)建方法,將控件放在網(wǎng)格中的特定點(diǎn).
如果你不是基于網(wǎng)絡(luò)的,我會(huì)堅(jiān)持使用Swing.它可能很冗長(zhǎng),但對(duì)于一個(gè)簡(jiǎn)單的形式來(lái)說(shuō)并不是那么困難.
標(biāo)簽:java,user-interface,swing
來(lái)源: https://codeday.me/bug/20190717/1485554.html
總結(jié)
以上是生活随笔為你收集整理的java GUI怎么输入_在Swing中创建Java GUI以进行表单输入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 44response对象
- 下一篇: java 整数溢出检测,Java如何处理