错误:找不到符号符号:class JTextFieldLimit class:Login

时间:2014-03-20 06:16:27

标签: java swing compiler-errors jtextfield

我有2个名为Login.javaJTextFieldLimit.java的文件(两个文件都保存在c:\java programs\planning sheet\with re_allotted中)

Login.java

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class Login extends JFrame implements ActionListener,KeyListener
{
    JButton SUBMIT;

     JPanel panel, panel1;

     JLabel label1, label2;

     static JTextField text1, text2;

     Login()
     {
             label1 = new JLabel();

             label1.setText("Username:");

            String username = System.getProperty("user.name");

            System.out.println(username);

             text1 = new JTextField(15);

            text1.setDocument(new JTextFieldLimit(7));

            text1.addKeyListener(new KeyAdapter()
            {
                    public void keyTyped(KeyEvent e)
                    {
                            char c = e.getKeyChar();

                            if(!(Character.isLetterOrDigit(c) || (c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE) || (c == KeyEvent.VK_PASTE)))
                            {
                                    JOptionPane.showMessageDialog(null, "Only numbers and alphabets allowed");

                                    e.consume();
                            }
                    }
            });

            text1.setText(username);
            text1.setEditable(false);

             label2 = new JLabel();

             label2.setText("Password:");

             text2 = new JPasswordField(15);

            text2.setDocument(new JTextFieldLimit(6));
            text2.setEditable(false);
            text2.addKeyListener(this);

            username = username.toLowerCase();

            if((("hrv1pen").equals(username)) || (("rar1pen").equals(username)) || (("sut5pen").equals(username)))
                    text2.setText("admin");

            else
                    text2.setText("");

            text2.requestFocusInWindow();

             SUBMIT = new JButton("SUBMIT");

            JPanel panel1 = new JPanel(new BorderLayout());

            JLabel label = new JLabel();

            label.setIcon(new ImageIcon("banner.jpg"));

            panel1.add(label,BorderLayout.EAST);

            JLabel label3 = new JLabel("               Login Screen");

            panel1.add(label3,BorderLayout.CENTER);

             panel = new JPanel(new GridLayout(3,1));

             panel.add(label1);
             panel.add(text1);
             panel.add(label2);
             panel.add(text2);
             panel.add(SUBMIT);

             add(panel1, BorderLayout.NORTH);
             add(panel, BorderLayout.CENTER);

             SUBMIT.addActionListener(this);

             setTitle("LOGIN FORM");
     }

    public void keyTyped(KeyEvent e)
    {

    }

    public void keyReleased(KeyEvent e)
    {

    }

    public void keyPressed(KeyEvent e)
    {
            int key = e.getKeyCode();

            if(key == KeyEvent.VK_ENTER)
            {
                    String username = text1.getText().trim();

                    username = username.toLowerCase();

                    String value1 = text2.getText().trim();
            }
    }

     public void actionPerformed(ActionEvent ae)
     {
            String username = text1.getText().trim();

            username = username.toLowerCase();

            String value1 = text2.getText().trim();

            if((("").equals(username)) && (("").equals(value1)))
            {
                            System.out.println("username and password cannot be blank");

                             JOptionPane.showMessageDialog(null, "Username and Password fields cannot be empty", "Error", JOptionPane.ERROR_MESSAGE);

                             text2.setText("");
                             text1.setText("");

                            text1.requestFocusInWindow();
            }
    }

     public static void main(String arg[])
     {
             Login frame = new Login();

             frame.pack();
             frame.setVisible(true);
             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             frame.setResizable(false);
     }
 }  

JTextFieldLimit.java

import javax.swing.text.PlainDocument;
import javax.swing.text.*;

public class JTextFieldLimit extends PlainDocument
{
    private int limit;

    JTextFieldLimit(int limit)
    {
            super();

            this.limit = limit;
    }

    public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException
    {
            if(str == null)
                    return;

            if((getLength() + str.length()) <= limit)
            {
                    super.insertString(offset,str,attr);
            }
     }
}

所有这些天文件Login.java都在编译并运行。

但是,今天,当我尝试在命令提示符下编译文件时,将目录更改为c:\java programs\planning sheet\with re_allotted
然后使用javac Login.java进行编译,我得到以下编译错误:

Login.java:27: error: cannot find symbol  
               text1.setDocument(new JTextFieldLimit(7));  
               symbol: class JTextFieldLimit  
location: class Login  


Login.java:53: error: cannot find symbol  
               text2.setDocument(new JTextFieldLimit(6));  
               symbol: class JTextFieldLimit  
location: class Login  

不知道我做错了什么。

请指导我。

提前致谢

0 个答案:

没有答案