我是一个血腥的初学者。我想创建一个登录屏幕,但我遇到编译器错误:
package passwordmanager;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
@SuppressWarnings("serial")
public class Frame extends JFrame
{
JLabel username;
JLabel password;
JTextField user;
JPasswordField pass;
JButton login;
public Frame()
{
//Frame
setLayout(null);
setLocationRelativeTo(null);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(425, 300);
setVisible(true);
setTitle("Password-Login");
//Label 1
username = new JLabel("Benutzernahme:");
username.setBounds(16, 50, 500, 15);
//Font
Font font1 = new Font("", Font.BOLD, 13);
username.setFont(font1);
add(username);
//Label2
password = new JLabel("Passwort:");
password.setBounds(16, 134, 200, 20);
password.setFont(font1);
add(password);
//TextField
user = new JTextField();
user.setBounds(16, 76, 350, 30);
user.setVisible(true);
add(user);
//PasswordField
pass = new JPasswordField();
pass.setBounds(16, 160, 350, 30);
pass.setVisible(true);
add(pass);
//Button
login = new JButton();
login.setBounds(0, 0, 5, 5);
add(login);
}
String myusername = user.getText();
String mypassword = new String(pass.getPassword());
public class Listener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(myusername.equalsIgnoreCase("whatever") && mypassword.equalsIgnoreCase("whatever"))
{
System.out.println("NICE");
}
}
}
}
Eclipse说这个字符串
String myusername = user.getText();
错了。你知道我怎么解决这个问题吗?
提前谢谢!:)
答案 0 :(得分:0)
此:
String myusername = user.getText();
String mypassword = new String(pass.getPassword());
必须在方法或构造函数中......您不能将代码放在那里。您可以在那里声明变量但不能执行操作。
这部分:
myusername = user.getText();
mypassword = new String(pass.getPassword());
应该在你的构造函数中......或者其他一些方法。 你可能想要它在这里:
public void actionPerformed(ActionEvent e)
{
myusername = user.getText();
mypassword = new String(pass.getPassword());
if(myusername.equalsIgnoreCase("whatever") && mypassword.equalsIgnoreCase("whatever"))
{
System.out.println("NICE");
}
}