在我的一个java应用程序中,有一个用户应输入时间的字段.我知道,我可以简单地将它保持为正常状态JTextField,在验证时我可以检查值等等......
但我认为有一种更好的方式..
例如,如果这是一个有日期的问题,那么JXDatePicker(随附swingx)可以非常方便地使用.最终,用户选择保证是日期.
同样,必须有更好的时间选择方式.如果您知道更好的解决方案,有人会分享您的知识.
任何想法都表示赞赏.谢谢!
我一直致力于个人项目,以便在编程方面做得更好.我的目标是让它更加强大,我刚刚开始.我是现任计算机科学专业的学生.无论如何,我正在努力制作一部分程序,如图所示.我计算小时工资并提供一些我尚未实施的产出.我正在使用DocumentListener,因此它会自动计算.当文本从一个盒子中完全删除时,我收到一个错误.我试图用if语句修复它:
if (tipMon.equals("") || tipMon == null) {
tipMon.setText("0");
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所拥有的.它还没有完成,我为noob代码道歉.我在两个月前开始实际编码.
import java.awt.GridLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JOptionPane;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.Document;
import javax.swing.text.FieldView;
public class deliveryDocListener extends JFrame implements ActionListener,
DocumentListener{
private JLabel mon, tues, wed, thurs, fri, sat, sun, hourlyWage, blank, row2, monWage,
tuesWage,wedWage,thursWage, friWage, satWage, sunWage, total, totalTips, totalHours,
totalHourlyEarnings, totalPay, weekPay;
private JTextField hourlyWageInput, tipMon, tipTues, tipWed, tipThurs, tipFri, tipSat, tipSun,
hourMon, hourTues, hourWed, hourThurs, …Run Code Online (Sandbox Code Playgroud) 我有jTextfield和jButton ..
如何
jTextfield.setText( "东西");
所以给jtextfield文本的唯一方法是单击按钮
这该怎么做?
原谅我的英语..非常感谢任何帮助..
如果用户输入其他字符,我希望用户只输入字母或空白区域,我想用jOptionPane给出消息我已经搜索过,我试过下面的代码
if (!(Pattern.matches("^[a-zA-Z]+$", answerField1.getText())))
JOptionPane.showMessageDialog(null, "Please enter a valid character", "Error", JOptionPane.ERROR_MESSAGE);
Run Code Online (Sandbox Code Playgroud)
但现在无论我输入它都会给出错误
现在我改变了代码
Pattern letterPattern = Pattern.compile("^[a-zA-Z]+$");
if (!(letterPattern.matcher(answerField1.getText()).matches()))
{
JOptionPane.showMessageDialog(null, "Please enter a valid character", "Error", JOptionPane.ERROR_MESSAGE);
}
Run Code Online (Sandbox Code Playgroud)
现在它只给消息第一次用户输入号码.我怎么能解决这个问题
我已经开发了一个swing表单来验证条目,因为焦点从JTextComponent中丢失,如果条目正确,则背景被涂成绿色,否则它被涂成红色.
这是代码: -
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.text.JTextComponent;
public class Form extends JFrame implements FocusListener{
JTextField fname,lname,phone,email,address;
BufferedImage img;
public static void main(String args[])
{
SwingUtilities.invokeLater(new Runnable(){public void run(){new Form();}});
}
public Form()
{
super("Form with Validation Capability");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400,300);
setLayout(new GridLayout(5,3));
try {
img=ImageIO.read(new File("src/warning.png"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
add(new …Run Code Online (Sandbox Code Playgroud)