gpt4 book ai didi

java - 如何在 eclipse 中验证 JTextField?

转载 作者:太空宇宙 更新时间:2023-11-04 12:46:19 25 4
gpt4 key购买 nike

我希望能够验证我的 java 项目中的许多不同的 JTextField。其中之一是确保用户在特定字段中输入数字。我遇到的另一个问题是能够在按下提交按钮时验证特定数字,例如字段中的 1234。

如果我必须在单独的类中创建一个方法,那么很好,但是我如何将该方法调用到我的 GUI 类中以用于我的 JTextField。

我对 Java 很陌生,发现其中一些很难,因此非常感谢任何帮助。

目前我有:

import java.awt.BorderLayout;

public class CashDialog extends JDialog {

private final JPanel contentPanel = new JPanel();
private JTextField txtEmilysBistro;
private JTextField textconfirmNumber;
private String confirmNumber;
private JButton btnSubmit;

/**
* Launch the application.
*/
public static void main(String[] args) {
try {
CashDialog dialog = new CashDialog();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* Create the dialog.
*/
public CashDialog() {

this.confirmNumber = confirmNumber;

setBounds(100, 100, 526, 372);
getContentPane().setLayout(new BorderLayout());
contentPanel.setBackground(new Color(255, 0, 153));
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(null);
{
txtEmilysBistro = new JTextField();
txtEmilysBistro.setBackground(new Color(255, 0, 153));
txtEmilysBistro.setHorizontalAlignment(SwingConstants.CENTER);
txtEmilysBistro.setForeground(new Color(255, 255, 255));
txtEmilysBistro.setFont(new Font("AR ESSENCE", Font.PLAIN, 50));
txtEmilysBistro.setEditable(false);
txtEmilysBistro.setText("Emily's Bistro");
txtEmilysBistro.setBounds(0, 0, 504, 57);
contentPanel.add(txtEmilysBistro);
txtEmilysBistro.setColumns(10);
}

JTextArea txtrConfirm = new JTextArea();
txtrConfirm.setForeground(new Color(255, 255, 255));
txtrConfirm.setBackground(new Color(255, 0, 153));
txtrConfirm.setEditable(false);
txtrConfirm.setFont(new Font("AR ESSENCE", Font.PLAIN, 25));
txtrConfirm.setText("Please allow your waiter/waitress to enter the confirmation number.");
txtrConfirm.setBounds(54, 73, 407, 77);
contentPanel.add(txtrConfirm);
txtrConfirm.setLineWrap(true);

textconfirmNumber = new JTextField();
textconfirmNumber.setFont(new Font("AR ESSENCE", Font.PLAIN, 30));
textconfirmNumber.setBounds(147, 148, 227, 47);
contentPanel.add(textconfirmNumber);
textconfirmNumber.setColumns(10);

btnSubmit = new JButton("Submit");
btnSubmit.setBackground(new Color(102, 51, 255));
btnSubmit.setForeground(new Color(255, 255, 255));
btnSubmit.setFont(new Font("AR ESSENCE", Font.PLAIN, 25));
btnSubmit.setBounds(184, 211, 162, 29);
contentPanel.add(btnSubmit);

}
}

在这个特定的文本字段中,我只希望它接受文本字段中的数字 1234。

最佳答案

您的代码存在一些问题,但这不是重点。在这里专门解决您的问题是一种方法。授予它,您可能希望以不同的方式处理它,验证您获得的是整数而不是比较字符串,但这仍然是您向提交按钮添加监听器的方式。

        btnSubmit.addActionListener(new ActionListener()
{

@Override
public void actionPerformed(ActionEvent arg0)
{
final String data = txtrConfirm.getText();
if( data.compareTo("1234") != 0 )
{
// alert the user
}
else
{
// data is good, do something with it
}
}

});

关于java - 如何在 eclipse 中验证 JTextField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36292558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com