Alors j'essayais de créer deux boutons pour une interface, j'ai essayé d'implémenter ActionListener pour activer l'un des boutons pour imprimer une chaîne mais ça m'a donné une erreur qui disait que "actionlistener wasn ' t implémenté dans la classe BorderDemo "Implémentation d'Actionlistener dans une interface graphique RTP
Qu'ai-je fait de mal?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferStrategy;
class BorderDemo
implements ActionListener
{
public static void main (String[] args)
{
JFrame F = new JFrame("Buttons");
F.addWindowListener
(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}});
F.setSize(544,416);
JPanel pane = (JPanel) F.getContentPane();
pane.add(new Picture(),BorderLayout.CENTER);
pane.add(new JButton("Start"),BorderLayout.WEST);
pane.addActionListener(this);
pane.add(new JButton("Stop"),BorderLayout.EAST);
F.setVisible(true);
F.setResizable(false);
}
}
class Picture extends JComponent
{
public Picture()
{
repaint();
}
public void paint (Graphics g)
{
g.setColor(Color.yellow);
g.fillOval(getWidth()/4,getHeight()/4,
getWidth()/2,getHeight()/3);
g.setColor(Color.black);
g.fillOval(getWidth()/2,getHeight()/4,
getWidth()/17,getHeight()/3);
g.setColor(Color.black);
g.fillOval(getWidth()/3,getHeight()/4,
getWidth()/17,getHeight()/3);
g.setColor(Color.white);
g.fillOval(getWidth()/5,getHeight()/5,
getWidth()/5,getHeight()/7);
g.setColor(Color.white);
g.fillOval(getWidth()/3,getHeight()/8,
getWidth()/5,getHeight()/7);
}
public void actionPerformed(ActionEvent e) {
System.out.println("Item clicked: "+e.getActionCommand());
}
}
1) Utilisez un tiret cohérent et logique pour les blocs de code. L'indentation du code a pour but d'aider les gens à comprendre le déroulement du programme. 2) Apprenez s'il vous plaît les conventions communes de nommage Java (http://java.sun.com/docs/books/jls/second_edition/html/names.doc).html # 73307) (en particulier le cas utilisé pour les noms) pour les noms de classe, méthode et attribut et l'utiliser de manière cohérente. –