actionPerformed的作用

liujun3512159 2010-01-29 09:44:37
在swing 开发中,有个接口ActionListener
这个接口中有个方法actionPerformed()

按照api中的说明,是“发生操作时调用”
我不明白这里的 操作到底指那些哦?
有些晕,请求说明
...全文
5365 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chihonglu1111 2010-01-29
  • 打赏
  • 举报
回复
比如你创建了一个button,对他添加一个监听器,在这个监听器当中就有一个actionPerformed方法。如果你要求这个button做一些事情,你就可以在actionPerformed方法中写你要做的事情
xiesisi3 2010-01-29
  • 打赏
  • 举报
回复
这个是发生操作时程序监听到然后自动调用的,具体处理机制我也不是很清楚。
操作一般用来指一个Button或JButton被按下去然后弹起来这种类似的操作,它和KeyListener,MouseLisenter,WindowListener等平级(分别对应键盘监听、鼠标监听、窗口监听),都是继承EventListener
zhangyy130 2010-01-29
  • 打赏
  • 举报
回复
你把ActionListener添加到某个控件中,当这个空间被操作的时候就调用了。
liujun3512159 2010-01-29
  • 打赏
  • 举报
回复
但是,我似乎没找到在什么地方调用这个方法,难道是内部封装的哦?
捏造的信仰 2010-01-29
  • 打赏
  • 举报
回复
你只要实现就可以了,调用是别人来调用。
1、 自定义类说明: (1)类名:MainTest 作用:主类,构建主界面 继承的父类:Jframe 主要实现接口:ActionListener 主要成员变量: private JPanel ContentPane; private JButton Insert = new JButton(); private JButton Select = new JButton(); private JButton Update = new JButton(); 内部类:MainTest_actionPerformed,主页面的事件监听。 jenter_ actionPerformed,按钮的事件监听。 主要成员方法: public MainTest() public static void main(String[] args) (2)类名:Insert 作用:实现添加个人信息 继承的父类:Jframe 主要实现接口:ActionListener 主要成员变量: private JPanel ContentPane; private JLabel jlab1 = new JLabel(); private JLabel jlab2 = new JLabel(); private JLabel jlab3 = new JLabel(); private JLabel jlab4 = new JLabel(); private JLabel jlab5 = new JLabel(); private JLabel jlab6= new JLabel(); private JLabel jlab7 = new JLabel(); private JLabel jlab8 = new JLabel(); private JTextField jtextfield1 = new JTextField(); private JTextField jtextfield2 = new JTextField(); private JTextField jtextfield3 = new JTextField(); private JTextField jtextfield4 = new JTextField(); private JTextField jtextfield5 = new JTextField(); private JComboBox jcombobox1 = new JComboBox(); private JComboBox jcombobox2 = new JComboBox(); private JTextArea jtextarea = new JTextArea(); private JButton sure = new JButton(); 内部类:sure_actionperformed,按钮的事件监听,实现对数据的插入。 主要成员方法:public Insert(); (3)类名:Update 作用:对个人信息进行修改。 继承的父类:Jframe 主要实现接口:ActionListener 主要成员变量: private JPanel ContentPane; private JLabel jlab1 = new JLabel(); private JLabel jlab2 = new JLabel(); private JLabel jlab3 = new JLabel(); private JLabel jlab4 = new JLabel(); private JLabel jlab5 = new JLabel(); private JTextField jtextfield1 = new JTextField(); private JTextField jtextfield2 = new JTextField(); private JTextField jtextfield3 = new JTextField(); private JTextField jtextfield4 = new JTextField(); private JButton sure = new JButton(); private JButton upda = new JButton(); 主要成员方法: public Update() public void actionPerformed(ActionEvent e) (4)类名:Select 作用:查询学生个人信息 继承的父类:Jframe 主要实现接口:ActionListener 主要成员变量: private JTextArea taInfo=new JTextArea(); private JPanel panel=new JPanel(); private JTextField jtextfield1=new JTextField(); private JButton jbutton=new JButton("查询"); private JLabel jlabel=new JLabel("学号"); 主要成员方法: public Select() public void actionPerformed(ActionEvent e)
import java.util.*; import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.io.*; public class Jiy{ private JFrame frame; public static void main(String[] args){ Jiy jy=new Jiy(); jy.go(); } public void go(){ JFrame frame1=new JFrame("主窗体"); JMenuBar bar=new JMenuBar(); JMenu menu=new JMenu("File"); JMenuItem build=new JMenuItem("builder"); JMenuItem play=new JMenuItem("player"); build.addActionListener(new BuildListener()); play.addActionListener(new PlayListener()); menu.add(build); menu.add(play); bar.add(menu); // frame1.setJMenuBar(bar); // frame1.setMenuBar(bar); frame1.setJMenuBar(bar); frame1.setSize(500,600); frame1.setVisible(true); } /* public class BuildListener imlements ActionListener{ public void actionPerformed(ActionEvent ev){ QuizCardBuilder builder=new QuizCardBuilder(); builder.go(); } }*/ public class BuildListener implements ActionListener{ public void actionPerformed(ActionEvent ev){ QuizCardBuilder build=new QuizCardBuilder(); build.go(); } } /* public class PlayListener imlements ActionListener{ public void actionPerformed(ActionEvent ev){ QuizCardPlayer player=new QuizCardPlayer(); player.go(); } }*/ public class PlayListener implements ActionListener{ public void actionPerformed(ActionEvent ev){ QuizCardPlayer player=new QuizCardPlayer(); player.go(); } } } public class QuizCard { String question; String answer; public QuizCard(String q,String a){ question=q; question=a; } public String getQuestion(){ return question; } public String getAnswer(){ return answer; } } import java.util.*; import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.io.*; public class QuizCardBuilder{ private JTextArea question; private JTextArea answer; private ArrayList cardList; private JFrame frame; public void go(){ frame=new JFrame("Quiz Card Build"); JPanel mainPanel=new JPanel(); Font bigFont=new Font("sanserif",Font.BOLD,24); question=new JTextArea(6,20); question.setLineWrap(true); question.setWrapStyleWord(true); question.setFont(bigFont); JScrollPane qScroller=new JScrollPane(question); qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); answer=new JTextArea(6,20); answer.setLineWrap(true); answer.setWrapStyleWord(true); answer.setFont(bigFont); JScrollPane aScroller=new JScrollPane(answer); qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); JButton nextButton=new JButton("Next Card"); cardList=new ArrayList(); JLabel qLabel=new JLabel("Question:"); JLabel aLabel=new JLabel("Answer"); mainPanel.add(qLabel); mainPanel.add(qScroller); mainPanel.add(aLabel); mainPanel.add(aScroller); mainPanel.add(nextButton); nextButton.addActionListener(new NextCardListener()); JMenuBar menuBar=new JMenuBar(); JMenu fileMenu=new JMenu("File"); JMenuItem newMenuItem=new JMenuItem("new"); JMenuItem saveMenuItem=new JMenuItem("save"); newMenuItem.addActionListener(new NewMenuListener()); saveMenuItem.addActionListener(new SaveMenuListener()); fileMenu.add(newMenuItem); fileMenu.add(saveMenuItem); menuBar.add(fileMenu); frame.setJMenuBar(menuBar); frame.getContentPane().add(BorderLayout.CENTER,mainPanel); frame.setSize(500,600); frame.setVisible(true); } public class NextCardListener implements ActionListener{ public void actionPerformed(ActionEvent ev){ QuizCard card=new QuizCard(question.getText(),answer.getText()); cardList.add(card); clearCard(); } } public class SaveMenuListener implements ActionListener{ public void actionPerformed(ActionEvent ev){ QuizCard card=new QuizCard(question.getText(),answer.getText()); cardList.add(card); JFileChooser fileSave=new JFileChooser(); fileSave.showSaveDialog(frame); saveFile(fileSave.getSelectedFile()); } } public class NewMenuListener implements ActionListener{ public void actionPerformed(ActionEvent ev){ cardList.clear(); clearCard(); } } private void clearCard(){ question.setText(" "); answer.setText(" "); question.requestFocus(); } private void saveFile(File file){ try{ BufferedWriter writer=new BufferedWriter(new FileWriter(file)); for(QuizCard card:cardList){ writer.write(card.getQuestion()+"/"); writer.write(card.getAnswer()+"\n"); } writer.close(); }catch(IOException ex){ System.out.println("couldn't write the cardList out"); ex.printStackTrace(); } } } import java.util.*; import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.io.*; public class QuizCardPlayer{ private JTextArea display; private ArrayList cardList; private QuizCard currentCard; private int currentCardIndex; private JFrame frame; private JButton nextButton; private boolean isShowAnswer; public void go(){ frame=new JFrame("Quiz Card Player"); JPanel mainPanel=new JPanel(); Font bigFont=new Font("sanserif",Font.BOLD,24); display=new JTextArea(10,20); display.setFont(bigFont); display.setLineWrap(true); display.setEditable(false); JScrollPane qScroller=new JScrollPane(display); qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); nextButton=new JButton("Show Question"); mainPanel.setLayout(new BoxLayout(mainPanel,BoxLayout.Y_AXIS)); mainPanel.add(qScroller); mainPanel.add(nextButton); nextButton.addActionListener(new NextCardListener()); JMenuBar menuBar=new JMenuBar(); JMenu fileMenu=new JMenu("File"); JMenuItem loadMenuItem=new JMenuItem("Load card set"); loadMenuItem.addActionListener(new OpenMenuListener()); fileMenu.add(loadMenuItem); menuBar.add(fileMenu); frame.setJMenuBar(menuBar); frame.getContentPane().add(BorderLayout.CENTER,mainPanel); frame.setSize(640,500); frame.setVisible(true); } public class NextCardListener implements ActionListener{ public void actionPerformed(ActionEvent ev){ if(isShowAnswer){ display.setText(currentCard.getAnswer()); nextButton.setText("Next Card"); isShowAnswer=false; }else{ if(currentCardIndexed(false); } } } } public class OpenMenuListener implements ActionListener{ public void actionPerformed(ActionEvent ev){ JFileChooser fileOpen=new JFileChooser(); fileOpen.showOpenDialog(frame); loadFile(fileOpen.getSelectedFile()); } } private void loadFile(File file){ cardList=new ArrayList(); try{ BufferedReader reader=new BufferedReader(new FileReader(file)); String line=null; while((line=reader.readLine())!=null){ makeCard(line); } reader.close(); }catch(Exception ex){ System.out.println("couldn't read he caef file"); ex.printStackTrace(); } } private void makeCard(String lineToParse){ String[] result=lineToParse.split("/"); QuizCard card=new QuizCard(result[0],result[1]); cardList.add(card); System.out.println("make a card"); } private void showNextCard(){ currentCard=cardList.get(currentCardIndex); currentCardIndex++; display.setText(currentCard.getQuestion()); nextButton.setText("Show Answer"); isShowAnswer=true; } }

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧