注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

古城风~~~

竹密无妨溪水过,天高不碍白云飞。这天下总有一份是属于我古城的天地!

 
 
 

日志

 
 

JApplet和ContentPane的菜单  

2008-08-30 22:20:01|  分类: java/jsp |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

本实例来自"精通JAVA2":

import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GraphicsEnvironment;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.ButtonGroup;
import javax.swing.JApplet;
import javax.swing.JComponent;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.Timer;

public class JAppletTest extends JApplet {


 private static final long serialVersionUID = 1L;
 
 
 private Timer timer=null;
 
 
 public void init() {
  this.setBounds(200, 200, 250, 250);
  MyContent content=new MyContent(this.getContentPane());
  this.setContentPane(content);
  content.createDoubleBuffer();
  
  //菜单
  JMenuBar jmb=new JMenuBar();
  JMenu jm=new JMenu("字体");
  Font[] fonts =GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
  JRadioButtonMenuItem[] jrbm=new JRadioButtonMenuItem[fonts.length];
  ButtonGroup group=new ButtonGroup();
  for(int i=0; i<jrbm.length; i++){
   jrbm[i]=new JRadioButtonMenuItem(fonts[i].getName());
   jrbm[i].addActionListener(content);
   group.add(jrbm[i]);
   jm.add(jrbm[i]);
  }
  jmb.add(jm);
  this.setJMenuBar(jmb);
  
  timer=new Timer(100,content);
  this.setVisible(true);
 }


 
 public void start() {
  timer.start();
 }


 public void stop() {
  timer.stop();
 }

 
 
 class MyContent extends JComponent implements ActionListener {
  private static final long serialVersionUID = 1L;
  
  private Image imgBuffer=null;
  private Graphics gBuffer=null;
  private SimpleDateFormat sdf=null;
  
  public MyContent(Container contentPane) {
   this.setSize(contentPane.getWidth(), contentPane.getHeight());
   sdf=new SimpleDateFormat("a hh:mm:ss");
  }
  
  public void createDoubleBuffer() {
   imgBuffer=this.createImage(this.getWidth(), this.getHeight());
   gBuffer=imgBuffer.getGraphics();
  }

  public void paint(Graphics g) {
   g.drawImage(imgBuffer, 0, 0, this);
  }

  public void update(Graphics g) {
   paint(g);
  }

  public void actionPerformed(ActionEvent ae) {
   if(ae.getSource() instanceof Timer) {
    gBuffer.clearRect(0, 0, this.getWidth(), this.getHeight());
    String str=sdf.format(new Date());
    gBuffer.drawString(str, 10, 100);
    repaint();
   } else {
    String fontName=((JMenuItem)ae.getSource()).getText();
    //System.out.println(fontName);
    gBuffer.setFont(Font.decode(fontName));
   }
  }
  
 }
 
 

 
 public static void main(String[] args) {
  new JAppletTest();
 }

}

 

 

  评论这张
 
阅读(431)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017