亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

一個javaBeans的關于RTTI的問題

2019-11-18 12:11:09
字體:
來源:轉載
供稿:網友

  package frogbean;
  import java.awt.*;
  import java.awt.event.*;
  import java.io.*;
  import java.util.*;
  /**
  * 在此處插入類型說明。
  * 創建日期:(2002-5-6 17:02:28)
  * @author:Administrator
  */
  public class BangBean extends Canvas implements Serializable {
  PRotected int xm,ym;
  protected int cSize=20;//circle size
  protected String text="Bang!";
  protected int fontSize=48;
  protected Color tColor=Color.red;
  protected ActionListener actionListener;
  
  class ML extends MouseAdapter{
  public void mousePressed(MouseEvent e){
  Graphics g=getGraphics();
  g.setColor(tColor);
  g.setFont(new Font("TimesRoman",Font.BOLD,fontSize));
  int width=g.getFontMetrics().stringWidth(text);
  g.drawString(text,xm,ym);
  g.dispose();
  //Call the listener's method:
  if(actionListener!=null)
  actionListener.actionPerformed(new ActionEvent(BangBean.this,ActionEvent.ACTION_PERFORMED,null));
  }
  }
  class MML extends MouseMotionAdapter{
  public void mouseMoved(MouseEvent e){
  xm=e.getX();
  ym=e.getY();
  repaint();
  }
  }
  /**
  * BangBean 構造子注解。
  */
  public BangBean() {
  addMouseListener(new ML());
  addMouseMotionListener(new MML());
  }
  public void addActionListener(ActionListener l) throws TooManyListenersException {
  if(actionListener!=null)
  throw new TooManyListenersException();
  actionListener=l;
  }
  public String getBeanText(){return text;}
  public int getCircleSize(){return cSize;}
  public int getFontSize(){return fontSize;}
  public Dimension getPreferredSize(){
  return new Dimension(200,200);
  }
  public Color getTextColor(){return tColor;}
  //Testing the BangBean:
  public static void main(String[] args){
  BangBean bb=new BangBean();
  try{
  //During testing, send action information to the console:
  bb.addActionListener(
  new ActionListener(){
  public void actionPerformed(ActionEvent e){
  System.out.println("BangBean action");
  }
  }
  );
  }catch(TooManyListenersException e){}
  Frame f=new Frame("BangBean Test");
  f.addWindowListener(
  new WindowAdapter(){
  public void windowClosing(WindowEvent e){
  System.exit(0);
  }
  }
  );
  f.add(bb,BorderLayout.CENTER);
  f.setSize(300,300);
  f.setVisible(true);
  }
  public void paint(Graphics g){
  g.setColor(Color.black);
  g.drawOval(xm-cSize/2,ym-cSize/2,cSize,cSize);
  }
  public void removeActionListener(ActionListener l){
  actionListener=null;
  }
  public void setBeanText(String newText){text=newText;}
  public void setCircleSize(int newSize){cSize=newSize;}
  public void setFontSize(int newSize){fontSize=newSize;}
  public void setTextColor(Color newColor){tColor=newColor;}
  }
  
  以上是bean類
  
  下面用Ibm visual Age for Java 自動生成調試代碼,測試上邊的bean
  
  package frogbean;
  
  import java.applet.*;
  import java.awt.*;
  /**
  * 在此處插入類型說明。
  * 創建日期:(2002-5-6 21:44:50)
  * @author:Administrator
  */
  public class TestBean extends Applet {
  private BangBean ivjfirst = null;
  /**
  * 返回關于此 applet 的信息。
  * @return 返回關于此 applet 信息的字符串。
  */
  public String getAppletInfo() {
  return "TestBean/n" +
  "/n" +
  "在此處插入類型說明。/n" +
  "創建日期:(2002-5-6 21:44:50)/n" +
  "@author:Administrator/n" +
  "";
  }
  /**
  * 返回 first 特性值。
  * @return frogbean.BangBean
  */
  /* 警告:此方法將重新生成。 */
  private BangBean getfirst() {
  if (ivjfirst == null) {
  try {
  ivjfirst = new frogbean.BangBean();
  ivjfirst.setName("first");
  ivjfirst.setBounds(94, 18, 200, 200);
  // user code begin {1}
  // user code end
  } catch (java.lang.Throwable ivjExc) {
  // user code begin {2}
  // user code end
  handleException(ivjExc);
  }
  }
  return ivjfirst;
  }
  /**
  * 每當部件拋出異常時被調用
  * @param exception java.lang.Throwable
  */
  private void handleException(java.lang.Throwable exception) {
  
  /* 除去下列各行的注釋,以將未捕捉到的異常打印至 stdout。 */
  // System.out.println("--------- 未捕捉到的異常 ---------");
  // exception.printStackTrace(System.out);
  }
  /**
  * 初始化 applet。
  *
  * @see #start
  * @see #stop
  * @see #destroy
  */
  public void init() {
  try {
  super.init();
  setName("TestBean");
  setLayout(null);
  setSize(426, 240);
  add(getfirst(), getfirst().getName());
  // user code begin {1}
  // user code end
  } catch (java.lang.Throwable ivjExc) {
  // user code begin {2}
  // user code end
  handleException(ivjExc);
  }
  }
  /**
  * 主入口點 - 當部件作為應用程序運行時,啟動這個部件。
  * @param args java.lang.String[]
  */
  public static void main(java.lang.String[] args) {
  try {
  Frame frame = new java.awt.Frame();
  TestBean aTestBean;
  Class iiCls = Class.forName("frogbean.TestBean");
  ClassLoader iiClsLoader = iiCls.getClassLoader();
  aTestBean = (TestBean)java.beans.Beans.instantiate(iiClsLoader,"frogbean.TestBean");
  frame.add("Center", aTestBean);
  frame.setSize(aTestBean.getSize());
  frame.addWindowListener(new java.awt.event.WindowAdapter() {
  public void windowClosing(java.awt.event.WindowEvent e) {
  System.exit(0);
  };
  });
  frame.setVisible(true);
  } catch (Throwable exception) {
  System.err.println("java.applet.Applet 的 main() 中發生異常");
  exception.printStackTrace(System.out);
  }
  }
  /**
  * 繪制 applet。
  * 假如此 applet 不需要繪制(例如,假如它只是其它
  * awt 部件的一個容器),則可以安全地除去此方法。
  *
  * @param g 指定的“圖形”窗口
  * @see #update
  */
  public void paint(Graphics g) {
  super.paint(g);
  
  //在此處插入用來繪制 applet 的代碼。
  }
  }
  
  
  其中
  TestBean aTestBean;
  Class iiCls = Class.forName("frogbean.TestBean");
  ClassLoader iiClsLoader = iiCls.getClassLoader();
  aTestBean = (TestBean)java.beans.Beans.instantiate(iiClsLoader,"frogbean.TestBean");
  是做什么用的?為什么不直接用
  TestBean aTestBean=new TestBean() ?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美综合第一页| 亚洲视频在线免费观看| 成人欧美一区二区三区黑人孕妇| 欧美高清性猛交| 狠狠色噜噜狠狠狠狠97| 久久久999精品免费| 亚洲欧美在线第一页| 日韩av在线网址| 国产一区二区日韩| 午夜欧美大片免费观看| 精品中文字幕在线2019| 亚洲欧美日韩国产成人| 亚洲国产婷婷香蕉久久久久久| 欧美在线观看日本一区| 国产精品白嫩美女在线观看| 国产成人黄色av| 日韩欧美一区二区三区久久| 亚洲在线观看视频| 97涩涩爰在线观看亚洲| 午夜精品www| 国产成人精品一区二区三区| **欧美日韩vr在线| 国产日韩欧美91| 97热在线精品视频在线观看| 亚洲国产精品视频在线观看| 黑人精品xxx一区| 精品视频久久久| 成人免费激情视频| 国产在线视频一区| 亚洲人精品午夜在线观看| 中文欧美在线视频| 国产精品2018| 日本不卡免费高清视频| 亚洲天堂成人在线| 欧美日韩激情视频| 在线不卡国产精品| 中文字幕久久久av一区| 国产一区二区丝袜高跟鞋图片| 亚洲日本中文字幕免费在线不卡| 精品国偷自产在线视频| 大桥未久av一区二区三区| 久久久久久久国产精品视频| 97成人精品区在线播放| 亚洲tv在线观看| 国产精品第一视频| 亚洲a成v人在线观看| 亚洲网址你懂得| 久久99精品久久久久久噜噜| 亚洲韩国欧洲国产日产av| 最近2019免费中文字幕视频三| 日韩禁在线播放| 国产深夜精品福利| 国内精品久久久久久中文字幕| 久久久久久这里只有精品| 国产精品欧美在线| 亚洲二区在线播放视频| 国产v综合ⅴ日韩v欧美大片| 在线观看中文字幕亚洲| 欧美色图在线视频| 亚洲精品日韩av| 国产精品黄视频| 国产精品久久久久影院日本| 这里只有精品在线播放| 国产69精品久久久| 高清一区二区三区四区五区| 亚洲精品91美女久久久久久久| 久久久久久免费精品| 日本精品视频网站| 亚洲日本成人网| 播播国产欧美激情| 久久男人av资源网站| 久久精品国产久精国产一老狼| 亚洲成人激情在线观看| 久久91精品国产91久久久| 日本伊人精品一区二区三区介绍| 欧美激情成人在线视频| 久久亚洲春色中文字幕| 欧美激情三级免费| 亚洲精品v欧美精品v日韩精品| 日韩视频免费在线| 久久久久久久久久久网站| 国产97免费视| 亚洲欧美国产高清va在线播| 国产精品免费一区豆花| 日韩一二三在线视频播| 日韩av电影国产| 久久免费视频观看| 热99精品里视频精品| 亚洲欧美国产另类| 国产在线播放91| 夜夜嗨av一区二区三区免费区| 日韩欧美成人免费视频| 国产日韩精品入口| 一区二区三区高清国产| 久久久视频免费观看| 国产成人综合亚洲| 亚洲欧美中文字幕在线一区| 亚洲美女又黄又爽在线观看| 久久精品电影一区二区| 成人av在线天堂| 亚洲男女自偷自拍图片另类| 日韩成人av在线| 亚洲成**性毛茸茸| 91热精品视频| 三级精品视频久久久久| 欧美日韩性视频在线| 久久精品国产电影| 欧美日韩国产中文精品字幕自在自线| 色综合久综合久久综合久鬼88| 精品国产一区av| 日本午夜在线亚洲.国产| 狠狠色狠色综合曰曰| 日韩午夜在线视频| 亚洲欧美精品一区| 国产在线拍偷自揄拍精品| 亚洲欧美激情在线视频| 成人国产精品久久久久久亚洲| 日韩成人在线电影网| 日韩亚洲成人av在线| 欧美一级片久久久久久久| 中文字幕欧美精品日韩中文字幕| 国产91在线高潮白浆在线观看| 亚洲人成电影网站色| 久久精品电影网| 中文日韩在线观看| 欧美电影免费观看高清完整| 欧美激情亚洲一区| 国产精品久久久久久久久久ktv| 国产精品扒开腿做爽爽爽的视频| 国产精品福利无圣光在线一区| 亚洲色图五月天| 69国产精品成人在线播放| 亚洲欧美综合另类中字| 亚洲自拍小视频| 亚洲人成电影网站| 亚洲伊人一本大道中文字幕| 九九热在线精品视频| 久久国内精品一国内精品| 亚洲视频专区在线| 亚洲另类图片色| 亚洲精品日韩av| 92看片淫黄大片看国产片| 欧美专区在线视频| 中文字幕国产精品| 久久久亚洲欧洲日产国码aⅴ| 国产日韩欧美中文| 亚洲精品国产精品国自产在线| 97久久久免费福利网址| 亚洲三级 欧美三级| 成人做爰www免费看视频网站| 狠狠躁天天躁日日躁欧美| 欧美一级高清免费播放| 永久免费毛片在线播放不卡| 一区二区福利视频| 国产www精品| 丰满岳妇乱一区二区三区| 日韩美女在线观看| 国产不卡av在线免费观看| 中文字幕亚洲欧美日韩2019| 日韩在线观看电影| 国产成人精品优优av| 精品成人在线视频| 久久国产精品偷| 久久久久久一区二区三区|