Eclipse不会创建JLabel

时间:2014-08-07 09:40:27

标签: java eclipse layout jlabel absolute

我遇到了Eclipse的这个问题。我有一个3 JTextFields的应用程序窗口。我希望每次都检查字段是否具有可接受的值,如果没有,则在其下创建一个红色的JLabel,表示错误。

因为我使用了 AbsoluteLayout ,所以我需要知道setBounds()方法的JLabel坐标。

所以我做的是从设计选项卡创建Jlabels(获取坐标),然后点击它们然后我去了他们的代码。使用设计管理器,红色JLabel从一开始就可见,而不是应该发生的事情。

所以我通过设计选项卡复制了创建JLabel的代码,并将其放在MouseEvent内,所以每次用户按下按钮在我的程序中创建内容时,我都会检查如果出现问题,我会在JLabel内使用相同的代码创建" if clause",以检查输入值。问题是我的JLabel不会创建它自己,这是我的程序中所有"if" clauses的问题。

例如,无论我给出什么价值,这个JLabel永远不会被创建:

String sql_year = year.getText();
// year is my JTextField()
if((sql_year.length()>5)||(sql_year.length()<4))
{
    JLabel digit = new JLabel("Error. Year is a 4-5 digit number!!");
    digit.setForeground(Color.RED);
    digit.setBounds(221, 126, 222, 38);
    frame.getContentPane().add(digit);
    digit.setVisible(true);
    year.setText("");
}

1 个答案:

答案 0 :(得分:1)

添加JLabel后尝试此操作:

frame.getContentPane().validate();
frame.getContentPane().repaint();