package Dao;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SamButtonListener extends JPanel{
private int votesForSam;
private JButton sam;
private JLabel labelsam;
public SamButtonListener(){
votesForSam=0;
sam=new JButton("Vote for Sam");
sam.addActionListener(new SamButtonListener()); //ActionListener显示红线错误
labelsam=new JLabel("Vote for sam:"+votesForSam);
add(sam);
add(labelsam);
setPreferredSize(new Dimension(300,40));
setBackground(Color.red);
}
private class SamButtonListener implements ActionListener{//SamButtonListener显示红线错误
public void actionPerforned(ActionEvent event) {
votesForSam++;
label.setText("Votes for Sam:"+votesForSam);
}
}
}
PS:于此相关代码,另外若是将SamButtonListener里面创建的按钮、标签直接写在VoteCounterPanel里面也显示同意的错误
package Dao;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class VoteCounterPanel extends JPanel{
private int votesForJoe;
private JButton joe;
private JLabel labeljoe;
public VoteCounterPanel(){
votesForJoe=0;
joe=new JButton("Vote for Joe");
joe.addActionListener(new JoeButtonListener());
labeljoe=new JLabel("Vote for Joe:"+votesForJoe);
add(joe);
add(labeljoe);
setPreferredSize(new Dimension(300,40));
setBackground(Color.cyan);
}
private class JoeButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent event) {
// TODO Auto-generated method stub
votesForJoe++;
labeljoe.setText("Votes for Joe:"+votesForJoe);
}
}
}
package Dao;
import javax.swing.JFrame;
public class VoteCounter {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame= new JFrame("Vote Counter");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new VoteCounterPanel());
frame.getContentPane().add(new SamButtonListener());
frame.pack();
frame.setVisible(true);
}
}
------解决思路----------------------
类名重复了
SamButtonListener