• 大小: 6.45M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-01
  • 语言: Java
  • 标签: 其他  

资源简介

Java编程思想-第三版.zip

资源截图

代码片段和文件信息

//: BangBean.java
// A graphical Bean
package bangbean;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;

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;
  public BangBean() {
    addMouseListener(new ML());
    addMouseMotionListener(new MML());
  }
  public int getCircleSize() { return cSize; }
  public void setCircleSize(int newSize) {
    cSize = newSize;
  }
  public String getBangText() { return text; }
  public void setBangText(String newText) {
    text = newText;
  }
  public int getFontSize() { return fontSize; }
  public void setFontSize(int newSize) {
    fontSize = newSize;
  }
  public Color getTextColor() { return tColor; }
  public void setTextColor(Color newColor) {
    tColor = newColor;
  }
  public void paint(Graphics g) {
    g.setColor(Color.black);
    g.drawOval(xm - cSize/2 ym - cSize/2 
      cSize cSize);
  }
  // This is a unicast listener which is
  // the simplest form of listener management:
  public void addActionListener (
      ActionListener l) 
        throws TooManyListenersException {
    if(actionListener != null)
      throw new TooManyListenersException();
    actionListener = l;
  }
  public void removeActionListener(
      ActionListener l) {
    actionListener = null;
  }
  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 
        (getSize().width - width) /2
        getSize().height/2);
      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();
    }
  }
  public Dimension getPreferredSize() {
    return new Dimension(200 200);
  }
  // Testing the BangBean:
  public static void main(String[] args) {
    BangBean bb = new BangBean();
    try {
      bb.addActionListener(new BBL());
    } catch(TooManyListenersException e) {}
    frame aframe = new frame(“BangBean Test“);
    aframe.addWindowListener(
      new WindowAdapter() {
        public void windowClosing(WindowEvent e) {
          System.exit(0);
        }
      });
    aframe.add(bb BorderLayout.CENTER);
    aframe.setSize(300300);
    aframe.setVisible(true);
  }
  // During testing send action information
  /

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-07 14:13  Java缂栫▼鎬濇兂\
     文件      166400  2001-01-20 05:27  Java缂栫▼鎬濇兂\绗?绔?瀵硅薄鍏ラ棬.doc
     目录           0  2017-11-07 14:14  __MACOSX\
     目录           0  2017-11-07 14:14  __MACOSX\Java缂栫▼鎬濇兂\
     文件         243  2001-01-20 05:27  __MACOSX\Java缂栫▼鎬濇兂\._绗?绔?瀵硅薄鍏ラ棬.doc
     文件       49664  2001-01-20 05:28  Java缂栫▼鎬濇兂\闄勫綍D 鎬ц兘.doc
     文件       95744  2001-01-20 05:28  Java缂栫▼鎬濇兂\闄勫綍A 浣跨敤闈濲AVA浠g爜.doc
     文件      127488  2001-01-20 05:27  Java缂栫▼鎬濇兂\绗?绔?涓€鍒囬兘鏄璞?doc
     目录           0  2002-10-27 10:10  Java缂栫▼鎬濇兂\TIJCODE\
     目录           0  2002-10-27 10:10  Java缂栫▼鎬濇兂\TIJCODE\bangbean\
     文件         414  2001-01-20 05:15  Java缂栫▼鎬濇兂\TIJCODE\bangbean\makefile
     文件        2658  2001-01-20 05:15  Java缂栫▼鎬濇兂\TIJCODE\bangbean\BangBean.java
     目录           0  2002-10-27 10:10  Java缂栫▼鎬濇兂\TIJCODE\c08\
     文件         648  2001-01-20 05:18  Java缂栫▼鎬濇兂\TIJCODE\c08\Parcel8.java
     文件         395  2001-01-20 05:18  Java缂栫▼鎬濇兂\TIJCODE\c08\TestRandVals.java
     文件        1539  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\Callbacks.java
     文件         632  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\Parcel4.java
     文件        1123  2001-01-20 05:18  Java缂栫▼鎬濇兂\TIJCODE\c08\Sequence.java
     文件        3937  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\GreenhouseControls.java
     文件         769  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\Parcel5.java
     文件         799  2001-01-20 05:18  Java缂栫▼鎬濇兂\TIJCODE\c08\Parcel9.java
     文件         927  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\BigEgg2.java
     文件         604  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\MultiImplementation.java
     文件        2180  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\makefile
     文件         942  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\Adventure.java
     文件        1007  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\Parcel2.java
     文件         190  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\Contents.java
     文件         416  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\Months.java
     文件         407  2001-01-20 05:18  Java缂栫▼鎬濇兂\TIJCODE\c08\TestBed.java
     文件         705  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\InterfaceCollision.java
     文件         203  2001-01-20 05:17  Java缂栫▼鎬濇兂\TIJCODE\c08\Destination.java
............此处省略1598个文件信息

评论

共有 条评论