⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12.txt

📁 电子工业出版社出版的《java2应用开发指南》配套光盘源代码
💻 TXT
📖 第 1 页 / 共 2 页
字号:

例程12-1
// LabelDemo.java
import java.awt.*;
import java.applet.*;
public class LabelDemo extends Applet
{
	Label lblOneLabel=new Label("标签一");
	Label lblSecondLabel=new Label("标签二");
	Label lblThirdLabel=new Label("标签三");
		public void init()
	{
		//向Applet容器中加入第一个Label
		add(lblOneLabel);
		//向Applet容器中加入第二个Label
		add(lblSecondLabel);
		//向Applet容器中加入第三个Label
		add(lblThirdLabel);
	}	
}



例程12-2
// ButtonDemo.java
import java.awt.*;
import java.applet.*;

public class ButtonDemo extends Applet
{
	Button btnOneButton=new Button ("按钮一");
	Button btnSecondButton=new Button ("按钮二");
	Button btnThirdButton=new Button ("按钮三");
	
	public void init()
	{
		//向Applet容器中加入第一个Button
		add(btnOneButton);
		//向Applet容器中加入第二个Button
		add(btnSecondButton);
		//向Applet容器中加入第三个Button
		add(btnThirdButton);
	}	
}



例程12-3
// CheckboxDemo.java
import java.awt.*;
import java.applet.*;

public class CheckboxDemo extends Applet
{
	Checkbox chkOneCheckbox=new Checkbox ("复选框一");
	Checkbox chkSecondCheckbox=new Checkbox ("复选框二");
	Checkbox chkThirdCheckbox=new Checkbox ("复选框三");
	
	public void init()
	{
		//向Applet容器中加入第一个Checkbox
		add(chkOneCheckbox);
		//向Applet容器中加入第二个Checkbox
		add(chkSecondCheckbox);
		//向Applet容器中加入第三个Checkbox
		add(chkThirdCheckbox);
	}	
}



例程12-4
// TextFieldDemo.java
import java.awt.*;
import java.applet.*;

public class TextFieldDemo extends Applet
{
	Label lblUserName=new Label("用户姓名:");
	TextField txtUserName=new TextField (12);
	
	Label lblUserPasswd=new Label("用户密码:");
	TextField txtUserPasswd=new TextField (12);
	
	Button btnLogin=new Button("登录");
	Button btnReset =new Button("重置");
	
	
	public void init()
	{
		//设置密码的回显字符为*
		txtUserPasswd.setEchoChar('*');
		
		add(lblUserName);
		add(txtUserName);
		
		add(lblUserPasswd);
		add(txtUserPasswd);
		
		add(btnLogin);
		add(btnReset);
	}	
}



例程12-5
// TextAreaDemo.java
import java.awt.*;
import java.applet.*;

public class TextAreaDemo extends Applet
{
	TextArea txtOneTextArea=new TextArea ();
	TextArea txtSecondTextArea=new TextArea ("多行文本框");
	
	public void init()
	{
		//向Applet容器中加入第一个TextArea
		add(txtOneTextArea);
		//向Applet容器中加入第二个TextArea
		add(txtSecondTextArea);

	}	
}



例程12-6
//ListDemo.java
import java.awt.*;
import java.applet.*;

public class ListDemo extends Applet
{
		
	public void init()
	{
		List lstYear= new List(4,false);
		lstYear.add ("1990");
		lstYear.add ("1991");
		lstYear.add ("1992");
		lstYear.add ("1993");
		//把1998加入到列表的第三项中
		lstYear.add ("1998",2);
		lstYear.add ("1994");
		lstYear.add ("1995");
		lstYear.add ("1996");
		lstYear.add ("1997");
		//把lstYear加入到容器中并显示出来
		add(lstYear);
	}	
}



例程12-7
//MenuDemo.java
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class MenuDemo extends Frame
{
	public MenuDemo(String strTitle)
	{
		//设置框架窗体标题
		super(strTitle);
		//创建菜单条并加入到框架窗体中
		MenuBar mnuMenuBar=new MenuBar();
		this.setMenuBar( mnuMenuBar );
		//创建File菜单和相应的菜单项
		Menu mnuFile= new Menu("文件");
		MenuItem mnuFileNew=new MenuItem ("新建");
		MenuItem mnuFileOpen=new MenuItem ("打开…");
		MenuItem mnuFileSave=new MenuItem ("保存");
		MenuItem mnuFileSaveAs=new MenuItem ("另存为…");
		MenuItem mnuFilePageSetting=new MenuItem ("页面设置…");
		MenuItem mnuFilePrint=new MenuItem ("打印");
		MenuItem mnuFileQuit=new MenuItem ("退出");
		//把菜单项加入到File菜单中
		mnuFile.add(mnuFileNew);
		mnuFile.add(mnuFileSave);
		mnuFile.add(mnuFileSaveAs);
		mnuFile.addSeparator();//添加分割条
		mnuFile.add(mnuFilePageSetting);
		mnuFile.add(mnuFilePrint);
		mnuFile.add(mnuFileQuit);
		//创建Edit菜单和相关菜单项并加入到Edit菜单中
		Menu mnuEdit=new Menu("编辑");
		mnuEdit.add( new MenuItem("剪切") );
		mnuEdit.add( new MenuItem("复制") );
		mnuEdit.add( new MenuItem("粘贴") );
		//创建Search菜单和相关菜单项并加入到Search菜单中
		Menu mnuSearch=new Menu("搜索");
		mnuSearch.add( new MenuItem("查找...") );
		mnuSearch.add( new MenuItem("查找下一个") );
		mnuSearch.add( new MenuItem("替换...") );
		//创建Help菜单和相关菜单项并加入到Help菜单中
		Menu mnuHelp=new Menu("帮助");
		mnuHelp.add( new MenuItem("关于帮助") );
		mnuHelp.add( new MenuItem("帮助主题") );
		//把所有菜单加入到菜单条中
		mnuMenuBar.add( mnuFile );
		mnuMenuBar.add( mnuEdit );
		mnuMenuBar.add( mnuSearch );
		mnuMenuBar.add( mnuHelp );		
	}
		//设置框架窗体的大小为宽400,高为400
	public Dimension getPreferredSize()
	{
		return new Dimension(400,400);		
	}
		//程序的入口方法
	public static void main( String[] args )
	{
		//创建框架窗体
		MenuDemo frmMenuDemo=new MenuDemo("这是个使用菜单的例子");
		//设置框架窗体的事件监听(关闭窗体事件)
		frmMenuDemo.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);
			}
		});
		//显示框架窗体
		frmMenuDemo.pack();
		frmMenuDemo.show();		
	}
}



例程12-8
//CanvasDemo.java
import java.awt.*;
import java.applet.*;

public class CanvasDemo extends Applet
{
	public void init()
	{
		//创建Canvas实例
		Canvas canvas=new MyCanvas();
		//在Applet容器中显示Canvas组件
		this.add(canvas);
	}
}
//这是我们扩展的Canvas类
class MyCanvas extends Canvas
{
	public void paint(Graphics g)
	{
		//得到画布的大小		
		Dimension size= this.getSize();
		//绘制画布的外围矩形区域
		g.drawRect(0,0,size.width-1,size.height-1);
		//绘制画布的三维效果
		g.setColor(Color.lightGray);
		g.draw3DRect(1,1,size.width-3,size.height-3,true);
		//用蓝色绘制字符串
		g.setColor(Color.blue);
		g.drawString("This is Canvas",120,20);
		//用红色绘制填充矩形
		g.setColor(Color.red);
		g.fillRect(10,30,60,60);
		//用绿色绘制线条
		g.setColor(Color.green);
		g.drawLine(120,150,20,90);
	}
	//重写该方法来设置Canvas组件的首选大小
	//这个方法必须覆盖,不然Canvas无法正确显示		
	public Dimension getPreferredSize()
	{
		return new Dimension(400,400);		
	}
}



例程12-9
//SplashDemo.java 
//用Window组件来制作快闪屏窗口
import java.awt.*;

public class SplashDemo extends Frame
{
	//frame的构造方法
    public SplashDemo()
    {
    	//获取快闪屏所需的图像
    	Image imgSplash=Toolkit.getDefaultToolkit().getImage("splash.gif");
    	//构造装载Image图像的Panel
    	ImagePane pnlImage=new ImagePane( imgSplash );
    	//创建快闪屏窗口并把图像Panel加入其中
    	Window splashWindow=new Window(this);
    	splashWindow.add(pnlImage,BorderLayout.CENTER);
    	//获取整个屏幕的尺寸大小
    	Dimension scmSize=Toolkit.getDefaultToolkit().getScreenSize();
    	//图像的宽和高
    	int nImageWidth=imgSplash.getWidth(this);
    	int nImageHeight=imgSplash.getHeight(this);
    	//设置快闪屏窗口的大小和居中位置
    	splashWindow.setSize(nImageWidth,nImageHeight);
splashWindow.setLocation(scmSize.width/2-nImageWidth/2,
scmSize.height/2-nImageHeight/2);
    	//显示快闪屏窗口并置之最前端
    	splashWindow.show();
    	splashWindow.toFront();
    	
    	try
    	{
    		//使当前线程睡眠5秒来模拟应用程序的装载
    		Thread.currentThread().sleep(5000);
    	}
    	catch(Exception e)
    	{
    		e.printStackTrace();	
    	}    	    	
    	//关闭快闪屏窗体并释放该窗体的资源
		splashWindow.dispose();
	}
	//程序的入口方法
	public static void main( String[] args )
	{
		//创建框架窗体
		SplashDemo frmSplashDemo=new SplashDemo();
		//正常退出Java虚拟机
		System.exit(0);		
	}
}
//封装装载图像的Panel
class ImagePane extends Panel
{
	private Image imgSplash;
	public ImagePane(Image image)
	{
		//跟踪装载图像
MediaTracker mt=new MediaTracker(this);
		mt.addImage(image,0);
		try
		{
			mt.waitForID(0);
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		this.imgSplash=image;		
	}
	//绘制图像
	public void paint(Graphics g)
	{
		g.drawImage(imgSplash,0,0,this);
	}
	//设置图像Panel的大小
	public Dimension getPreferredSize()
	{
		return new Dimension( imgSplash.getWidth(this),imgSplash.getHeight(this));
	}	
}



例程12-10
//TooltipDemo.java 
//用Window组件来制作工具提示帮助窗口
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class TooltipDemo extends Applet
{
	//Applet的初始化方法
    public void init()
    {
    	//创建三个要显示工具提示的Button
    	TooltipButton btnNew=new TooltipButton("新建");
    	TooltipButton btnOpen=new TooltipButton("打开");
    	TooltipButton btnSave=new TooltipButton("保存");
    	//把三个Button加入到Applet中并显示出来
    	this.add( btnNew );
    	this.add( btnOpen );
    	this.add( btnSave );
	}
}

class TooltipButton extends Button
{
	//保存工具提示帮助的文本的内容
	String strTooltip;
	//TooltipWindow工具提示的引用
	TooltipWindow wndToolkit;
	
	public TooltipButton(String strTooltipText )
	{
		//设置Button的标题
		super(strTooltipText);
		//构造Button要显示的提示帮助文本字符串
		this.strTooltip	= "这是个" + strTooltipText +"按钮的提示";
		//给Button添加鼠标监听事件
		this.addMouseListener( new MouseAdapter(){
			//监听鼠标的进入事件
			public void mouseEntered( MouseEvent event){
				//得到Button的引用,给内嵌类使用
				TooltipButton btnTooltip= TooltipButton.this;
				
				if( wndToolkit == null )
					wndToolkit=new TooltipWindow( btnTooltip, strTooltip );
				//获取Button在屏幕中的位置点
				Point ptLoc=getLocationOnScreen();
				//获取Button的大小
				Dimension dmSize= getSize();
				//设置工具提示帮助窗口的位置
				wndToolkit.setLocation( ptLoc.x,ptLoc.y + dmSize.height+2 );
				//显示工具提示帮助窗口
				wndToolkit.show();
			}
			//监听鼠标的退出事件
			public void mouseExited(MouseEvent event){
				if( wndToolkit != null && wndToolkit.isShowing() )
					wndToolkit.dispose();
			}
		});
	}
}
//封装显示工具帮助的窗口
class TooltipWindow extends Window
{
	//保存工具提示帮助的文本的内容
	private String strTooltipText;
	public TooltipWindow( Component comp, String strText )
	{
		super( getFrame(comp) );
		//设置显示工具帮助的文本
		this.strTooltipText = strText ;
		//设置前景色
		setForeground(SystemColor.textText);
		//设置背景色
		setBackground(SystemColor.info);
	}
	//绘制提示文本的窗口
	public void paint(Graphics g)
	{
		//获取窗体大小
		Dimension dmSize=this.getSize();
		//获取字体
		FontMetrics fm=g.getFontMetrics();
		//绘制工具提示的外围矩形
		g.drawRect(0,0,dmSize.width-1,dmSize.height-1);
		//绘制需要显示的工具提示的文本字符串
		g.drawString(strTooltipText,2,fm.getAscent()+2);
	}
	//显示工具帮助窗口
	public void show()
	{
		pack();
		super.show();
	}	
	//设置显示工具帮助的窗口的大小
	public Dimension getPreferredSize()
	{
		//获取字体的属性
		Graphics g= getGraphics();
		FontMetrics fm=g.getFontMetrics();
		//设置显示工具帮助的大小
		return new Dimension( fm.stringWidth(strTooltipText)+4,fm.getHeight()+4 );
	}
	static Frame getFrame(Component c)
	{
		Frame frame=null;
		while(  (c=c.getParent())!=null )
		{
			if( c instanceof Frame )
				frame=(Frame)c;
		}
		return frame;
	}	
}



例程12-11
//FrameDemo.java
import java.awt.*;
import java.awt.event.*;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -