你为什么不在前面加一个小JLabel呢JTextField?可以包含数字,并且因为它不可编辑,JLabel所以无论用户在JTextField. 您还可以通过调用 格式化JLabel以使其变为红色setForeground(Color.RED);。这可能是一个更简单的解决方案?
例如,而不是这样做......
JPanel panel = new JPanel(new BorderLayout());
JTextField textfield = new JTextField("Hello");
panel.add(textfield,BorderLayout.CENTER);
你可能会做这样的事情......
JPanel panel = new JPanel(new BorderLayout());
JTextField textfield = new JTextField("Hello");
panel.add(textfield,BorderLayout.CENTER);
JLabel label = new JLabel("1.");
label.setForeground(Color.RED);
panel.add(label,BorderLayout.WEST);
JLabel这在 的左侧添加了一个红色JTextField,并且因为您使用BorderLayout的是,JPanel所以它会自动使其JLabel尽可能小。