※ ChatGPTを利用し、要約された質問です(原文:javaの課題でコンパイルエラーが出てきて困っています)
javaの課題でコンパイルエラーが出てきて困っています
javaの課題でコンパイルエラーが出てきて困っています
学校の授業でjavaの課題が出たのですが、
javakadai.java:41: ここにインタフェースが必要です。
class javakadaiPanel extends JPanel implements ActionListener,ActionEvent{
というエラーが出て困っています。
どなたか解決方法を教えてくれませんか?
ソースは以下です。
よろしくお願いします。
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.Color;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JCheckBoxMenuItem;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JRadioButtonMenuItem;
import java.awt.Container;
public class JavaKadai {
public static void main(String[] args) {
JavaKadaiFrame frame = new JavaKadaiFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class JavaKadaiFrame extends JFrame {
JavaKadaiFrame() {
super();
setSize(300, 300);
setLocationRelativeTo(null);
setTitle("JavaKadai");
Container c = getContentPane();
c.add(new JavaKadaiPanel(getRootPane()));
}
}
class JavaKadaiPanel extends JPanel implements ActionListener,ActionEvent{
Color color = Color.black;
JCheckBoxMenuItem miR = new JCheckBoxMenuItem("R");
JCheckBoxMenuItem miG = new JCheckBoxMenuItem("G");
JCheckBoxMenuItem miB = new JCheckBoxMenuItem("B");
public JavaKadaiPanel(javax.swing.JRootPane root) {
setBackground(Color.black);
//メニューバーはJFrameのルートペインに追加
JMenuBar bar = new JMenuBar();
JMenu mnBack = new JMenu("BACK");
//メニュー構成
bar.add(mnBack);
mnBack.add(miR);
mnBack.add(miG);
mnBack.add(miB);
//ルートペインへメニューを追加
root.setJMenuBar(bar);
miR.addActionListener(this);
miG.addActionListener(this);
miB.addActionListener(this);
mnBack.setMnemonic('B'); //[Alt]+[B]でアクセス
miR.setMnemonic('R'); //[R]でアクセス
miG.setMnemonic('G'); //[G]でアクセス
miB.setMnemonic('B'); //[B]でアクセス
}
public void actionPerformed(ActionEvent e){
int R = miR.isSelected() ? 255:0;
int G = miG.isSelected() ? 255:0;
int B = miB.isSelected() ? 255:0;
color = new Color(R,G,B);
repaint();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
// 幅、高さ
int height = g.getClipBounds().height;
int width = g.getClipBounds().width;
// 塗潰し
g.setColor(color);
g.fillRect(0, 0, width, height);
}
}
まだ途中なので、現時点では不必要なimport文があります。
よろしくお願いします。
お礼
無事コンパイルできました。 javaは苦手なので助かりました。 ありがとうございました。