Я прочитал большинство других вопросов по не-абстрактным классам с абстрактными методами, и я не думаю, что я понял это. Так вот моя проблема:Класс не абстрактный, не переопределяет абстрактный метод
Я пытаюсь сделать метроном, чтобы метроном щелкнул и воспроизвел звук. Я скопировал код с http://www.cs.cmu.edu/~illah/CLASSDOCS/javasound.pdf.
Код ниже - это супер базовая программа, которая создает JFrame, JPanel и JButtton. Когда нажата кнопка (ClickForSound), она должна воспроизводить звук.
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.applet.*;
class PlsWork implements ActionListener{
JPanel JPanelThing = new JPanel();
public PlsWork() {
//make frame to hold everything
JFrame Frame4HoldinSheit = new JFrame("Sound Player");
//set up frame
Frame4HoldinSheit.setLayout(new FlowLayout());
Frame4HoldinSheit.setSize(300, 300);
Frame4HoldinSheit.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// make button for playing sound
JButton ClickForSound = new JButton("Click Me");
ClickForSound.addActionListener(this);
//add button to panel, then panel to frame
Frame4HoldinSheit.add(JPanelThing);
JPanelThing.add(ClickForSound);
}
public void actionPreformed(ActionEvent ae) {
//if button is pressed
if(ae.getActionCommand().equals("Click Me")){
try {
//make a AudioClip
AudioClip MetSound = Applet.newAudioClip(
//Using this file (FOUND HERE)
new URL("C:/Users/jheld7499/desktop/4d.wav"));
MetSound.play();
} catch (java.net.MalformedURLException murle) {
//ya done goofed on where u thought the file was
System.out.println("Malformed URL Exception"); }
}
}
public static void main(String args[]){
SwingUtilities.invokeLater(new Runnable() { public void run() {
//run the program
new PlsWork();} });
}
}
Я получаю ошибку в том, что класс PlsWork не является абстрактным и, следовательно, не отменяет абстрактный метод PlsWork
sound.java:8: error: PlsWork is not abstract and does not override
abstract method actionPerformed(ActionEvent) in ActionListener
class PlsWork implements ActionListener{
^
1 error
Также ОБРАТИ поговорить со мной, как идиот, как я почти не имею ни малейшего представления о том, что абстрактное означает или как сделать реферат метода, если я хочу, чтобы что-то было абстрактным или чем-то еще.
https://docs.oracle.com/javase/tutorial/ java/IandI/abstract.html – DavidS
«Ошибка, которую я получаю, заключается в том, что класс PlsWork не является абстрактным и, следовательно, не отменяет абстрактного метода PlsWork» - это _not_, что говорит сообщение об ошибке. Прочтите еще раз. – davmac