📄 text3d.java
字号:
import java.awt.*;
import java.awt.Color;
import java.awt.event.*;
public class Text3D extends Frame implements ActionListener{
int height,width;
String text;
Font font;
int fontSize;
Dialog dlg=new Dialog(this,"个人信息",true);
public Text3D(){
this.setTitle("简易3D文字");
this.setBackground(Color.gray);
this.setSize(400, 150);
this.setVisible(true);
MenuBar mb1=new MenuBar();
this.setMenuBar(mb1);
Menu m1=new Menu("个人信息");
mb1.add(m1);
MenuItem m2=new MenuItem("关于张兴明");
m1.add(m2);
addWindowListener(new Win());//增加窗口适配器控制程序结束
dlg.addWindowListener(new Win());//增加对话框适配器控制对话框结束
m2.addActionListener(this);//增加菜单选项事件监听
width =400;
height =150;
text = new String("hello");
String mystring = new String("3D文字动画展示");
if(mystring!=null)
text = mystring;
}
//重写update方法,消除闪烁
public void update(Graphics g){
g.setColor(Color.blue); //设置矩形颜色
g.fillRect(0,0,width,height); //填充
paint(g);
}
//画出动画文字
public void paint(Graphics g){
int x=15;
int y=height-15;
int R,G,B; //定义变量,保存RGB信息
fontSize = 45;
font = new Font("TimeRoman",Font.BOLD,fontSize);//设置文字的格式
g.setFont(font);
//利用随机数定义颜色
R=(int)(255*Math.random());
G=(int)(255*Math.random());
B=(int)(255*Math.random());
//分成11层进行显示
for(int i=0;i<11;i++)
{
g.setColor(new Color((255-(255-R)*i/10),(255-(255-G)/10),(255-(255-G)*i/10)));
//调用线程的sleep()方法,达到动画的效果
try
{
Thread.sleep(50);
}
catch(InterruptedException e)
{}
//在不同位置显示字符串
g.drawString(text,x-i,y-i);}
//延时1s,以便于观察
try
{
Thread.sleep(1000);
}
catch(InterruptedException e)
{}
repaint();
}
class Win extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);//退出应用程序,返回操作系统
}
}
//对话框事件处理
public void actionPerformed(ActionEvent e){
dlg.setLayout(new FlowLayout());
dlg.add(new Label("姓名:张兴明"));
dlg.add(new Label("学号:200610404118"));
dlg.setSize(150,100);
dlg.show();
}
public static void main(String[] args){
new Text3D();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -