📄 12.txt
字号:
例程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 + -