提前感谢您的帮助。所以我以前曾多次使用JOptionPane的输入,但这让我感到困惑。我只想使用来自paymentField的输入,该输入从用户获取($ 0.00)一个值。我是否使用动作监听器,如果是这样,是否有其他方式?
在我使用showInputDialog的那一刻,它会带来一个额外的不需要的文本字段。还尝试了showConfirmDialog但似乎无法使用输入的内容。
//method used to display dialog box required add funds to wallet
public void getWalletBox() {
String[] cTypes = {"Maestro", "Visa Debit", "Mastercard", "American Express"};
JComboBox cardType = new JComboBox(cTypes);
cardType.setFont(new Font("Serifs", Font.BOLD, 16));
JTextField cardNumField = new JTextField(20); //width of text fields = 25
cardNumField.setFont(new Font("Serifs", Font.BOLD, 16));
//formats payment field using dollar prefix
NumberFormat paymentFormat = NumberFormat.getCurrencyInstance(Locale.US);
paymentField = new JFormattedTextField(paymentFormat);
paymentField.setValue(new Double(0.00));
paymentField.setFont(new Font("Serifs", Font.BOLD, 25));
paymentField.setEditable(true);
paymentField.setForeground(Color.green);
//array of objects used to add labels and fields to joptionpane
Object[] fields = {
"Card Type: ", cardType,
"Card Number: ", cardNumField,
"Add: ", paymentField
};
JOptionPane.showInputDialog(null, fields, "Wallet", JOptionPane.OK_CANCEL_OPTION);
}`
答案 0 :(得分:-1)
你必须为此定义自己的JDialog,因为与使用此方法cutomize相比,它非常简单。