gpt4 book ai didi

java - 如何实现ActionListener

转载 作者:行者123 更新时间:2023-12-01 08:05:00 25 4
gpt4 key购买 nike

我试图在单击按钮时简单地更改 JLabel 的值。

这是 GUI 代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class login extends JFrame implements ActionListener
{
public login (){

//Create (Frame, Label, Text input for doctors name & Password field):

JFrame frame = new JFrame("Doctor Login");
JLabel label = new JLabel("Login Below:");
JTextField name = new JTextField(10);
JPasswordField pass = new JPasswordField(10);
JButton button = new JButton("Login");

//Exit program on close:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//Label
label.setPreferredSize(new Dimension(175, 100));
label.setLocation(100,100);

//Add Elements to frame:
frame.setLayout(new FlowLayout());
frame.getContentPane().add(label);
frame.getContentPane().add(name);
frame.getContentPane().add(pass);
frame.getContentPane().add(button);

//Create border for text field:
Border nameBorder = BorderFactory.createLineBorder(Color.BLACK, 1);

name.setBorder(nameBorder);
pass.setBorder(nameBorder);

//Set Size of frame:
frame.setSize(500, 250);

//Set Location of the frame on the screen:
frame.setLocation(200,200);

//Display
frame.setVisible(true);


//Compiler Gives an error here - Illegal Start of Expression
public void actionEvent(ActionEvent event){
label.setText("Logged in");
}
}

}

主类代码:

import java.util.*;
import java.util.Date;

public class main
{

public static void main(String[] args) {

login login = new login();

}


}

登录类中的actionEvent方法返回错误Illegal Start of Expression。

最佳答案

如果您只想将ActionListener添加到按钮,那么您应该删除

implements ActionListener

然后做:

button.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
label.setText(...);
}
});

注释:

  • 请注意,您收到该错误是因为您在构造函数内部添加了该方法。
  • 您应该遵循 Java 命名约定,对类使用 SomeClass 等名称,对变量或方法使用 someVariable 等名称。

关于java - 如何实现ActionListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22462581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com