求助:The serializable class JButtonEvent does not de

classing 发布于 2009/04/13 11:45
阅读 680
收藏 0

这是一个GUI文件,由JButtonEvent和JButtonEventDemo组成,实现两个按钮互相切换的功能。但用eclipse调试时出现以上警告The serializable class JButtonEvent does not declare a static final serialVersionUID field of type long,而且调试没通过。请问这是什么原因?我学java没多久,希望各位给出详尽的解答。以下是是两个类,装在不同的包里。

package component;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.*;
import java.awt.*;
/**
 * JButton事件响应组件
 * 框架JFrame包含面板JPanel,面板JPanel包含组件JButton的层次关系
 */
public class JButtonEvent extends JFrame implements ActionListener{
 //声明显示信息的标签
 private JLabel message = new JLabel("Hello, Java World!");
 //声明两个按钮
 private JButton JBcn, JBen;
 private JPanel JPButton, JPMessage;
 //构造方法
 public JButtonEvent(){
  this.setTitle("测试按钮事件");
  //建立按钮
  JPButton = new JPanel();
  JPMessage = new JPanel();
  JPButton.setLayout(new FlowLayout());
  JPMessage.setLayout(new FlowLayout());
  JPMessage.add(message);
  JPButton.add(JBcn = new JButton("中文"));
  JPButton.add(JBen = new JButton("English"));
  //把面板放置到框架中
  this.getContentPane().setLayout(new BorderLayout());
  this.getContentPane().add(JPMessage, BorderLayout.CENTER);
  this.getContentPane().add(JPButton, BorderLayout.SOUTH);
  //设置按钮的监听器
  JBcn.addActionListener(this);
  JBen.addActionListener(this);
  //设置按钮的活动状态
  JBen.setEnabled(false);
 }
 //处理按钮事件方法
 public void actionPerformed(ActionEvent e){
  if (e.getSource() == JBcn){
   //显示英文按钮
   //显示中文信息
   message.setText("Java世界,您好!");
   JPMessage.updateUI();
   JBcn.setEnabled(false);
   JBen.setEnabled(true);
   JPButton.updateUI();
  }else{
   if (e.getSource() == JBen){
    //显示中文按钮
    //显示英文信息
    message.setText("Hello, Java World!");
    JPMessage.updateUI();
    JBcn.setEnabled(true);
    JBen.setEnabled(false);
    JPButton.updateUI();    
   }
  }
 }
}
*****************************************************************************************
package java;
import javax.swing.*;
import component.JButtonEvent;;
public class JButtonEventDemo {
public static void main(String[]args){
 JButtonEvent frame=new JButtonEvent();
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 frame.setSize(300,200);
 frame.setLocation(100, 100);
 frame.setVisible(true);
}
}
加载中
0
红薯
红薯

这是 Eclipse 本身的问题,处理办法参考 这里

返回顶部
顶部