建立一个;“关于我”;Java中的GUI页面
我正在做一个GUI应用程序,现在正在构建GUI的“关于我”页面。这个“关于我”应该包括对我自己的介绍和一张我的照片。以下是我所做的代码:建立一个;“关于我”;Java中的GUI页面,java,Java,我正在做一个GUI应用程序,现在正在构建GUI的“关于我”页面。这个“关于我”应该包括对我自己的介绍和一张我的照片。以下是我所做的代码: import javax.swing.event.*; import javax.swing.*; import java.awt.image.*; import javax.imageio.*; import java.io.*; import java.awt.event.*; import java.awt.*; public class Conta
import javax.swing.event.*;
import javax.swing.*;
import java.awt.image.*;
import javax.imageio.*;
import java.io.*;
import java.awt.event.*;
import java.awt.*;
public class ContactMe extends JFrame implements ActionListener
{
JPanel panelTop = new JPanel(); // new GUI components
JButton butAboutMe = new JButton("About Me...");
JButton butOpenFile = new JButton("Open File...");
// ...
BufferedImage orgImg; // image of opened file
ContactMe()
{ // A No-Argument Constructor
setTitle ( "MyName Image Viewer X" ); //...
}
void initGUI()
{
panelTop.add(butOpenFile); //add buttons and slider to top JPanel
panelTop.add(butAboutMe);
add(panelTop, BorderLayout.NORTH); //add JPanel to top of JFrame
add(butOpenFile, BorderLayout.NORTH);
add(sPImg, BorderLayout.CENTER);
add(labelStatus, BorderLayout.SOUTH);
// registering this class object as event listener for the Button
butOpenFile.addActionListener(this);
// EVENT HANLDING below, with Anonymous Class approach:
// register a new listener object (of an anonymous class) to Button
butAboutMe.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent event) {
// show AboutMe Message Dialog window
JOptionPane.showMessageDialog(null,
"Members(left to right):\n" +
"MyName(ME)\n CHAN Tai Man\n CHAN Siu Man",
"About Me: G22m2, 2019-2020, OOP",
JOptionPane.INFORMATION_MESSAGE,
new ImageIcon("AboutMe.jpg"));
} });
}
//...
public static void main(String[] args)
{ // Method to start program
(new Contact()).setVisible(true);
System.out.println("END of main() method!");
}
}
错误1:
error: Main is not abstract and does not override abstract method actionPerformed(ActionEvent) in ActionListener
public class ContactMe extends JFrame implements ActionListener
错误2:
error: cannot find symbol sPImg
add(sPImg, BorderLayout.CENTER);
错误3:
error: cannot find symbol labelStatus
add(labelStatus, BorderLayout.SOUTH);
然而我有三个错误,无法解决它,我真的需要一些帮助和提示。谢谢 如何修复错误
错误1:Main不是抽象的,并且不重写抽象方法。。。
当抽象类被子类化时,子类通常提供
父类中所有抽象方法的实现。
但是,如果没有,则还必须声明子类
抽象的
资料来源:
这意味着您必须提供自己的方法实现actionPerformed(ActionEvent)
错误2和3:找不到符号
您没有声明变量
sPImg
和labelStatus
。您需要定义要在Java中使用的任何变量。您是否从某个地方复制/粘贴了此代码?在您的代码中,我看不到任何创建sPImg
或labelStatus
的变量。为什么ContactMe
实现ActionListener
接口?如果你真的想这样做,你必须重写actionPerformed
方法。最后两个方法很简单:你的类中没有任何名为sPImg
或labelStatus
的东西,所以它不知道你在说什么。要么定义类似的内容,要么删除有问题的代码行。第一种方法意味着如果您声称要实现ActionListener
,则必须实现actionPerformed
方法。由于您提供了一个作为匿名内部类的action listener,您可能只需删除类定义中的实现ActionListener
。您使用匿名类满足ActionListener的需要,我认为实现ActionListener
不是您想要的。一般来说,错误MSG准确地告诉您代码的错误:actionPerformed
未实现,变量sPImg
和labelStatus
缺失。