当前页面: 开发资料首页 → Java 专题 → 菜鸟初学Java的备忘录(十)
摘要: 菜鸟初学Java的备忘录(十)
import java.awt.*;
public class FrameMemo extends Frame
{
public String motd;
public FrameMemo(String s)
{
super(s);//super在这里代表的是父类,和this所代表的本类相应,因此这里调用的是父类的构造函数
motd=s;
resize(300,300);
SetMenu();
}
public FrameMemo()//重载的构造函数
{
this("This is a Memo of Frame");//这里调用的是FrameMemo(S)构造 函数
SetMenu();
}
public void SetMenu()
{
Menu m,n;
m=new Menu("Examples");
m.add(new MenuItem("Basic"));
m.add(new MenuItem("Simple"));
n=new Menu("More Examples");
n.add(new MenuItem("Sub Basic"));
m.add(n);
MenuBar mb=new MenuBar();
mb.add(m);
setMenuBar(mb);
}
public void paint(Graphics g)
{
g.drawString(motd,15,15);
g.drawString("Click anywhere to Exit",45,45);
}
public void start()
{
show();
}
public boolean mouseDown(Event e,int x,int y)
{
hide();//隐藏窗口
dispose();//释放资源
System.exit(0);
return false;
}
public static void main(String args[])
{
FrameMemo m;
m=new FrameMemo();
m.start();
}
}
import java.awt.*;
import java.applet.*;
public class Layout extends Frame
{
Panel fnames,styles;//两个字体按钮放到fnames这个Panel中,三个风格按钮放到styles这个Panel中
Button sans,serif;
Button bold,bigger,smaller;//定义两个字体按钮,三个风格按钮
SampleCanvas sample;//定义重载后的画布对象
String fName=new String("SansSerif");
int fBold=0;
int fSize=12;
public Layout(){
super("A Memo of Layout");
setFont(new Font("Sans",Font.BOLD,12));
setLayout(new BorderLayout());//设置BorderLayout布局,该方式可安排五个元素
file://方位为东西南北中
file://下面的程序为设置底部即南边的两个按钮
fnames=new Panel();
fnames.setLayout(new GridLayout(1,2,5,10));//为panel设置GridLayout布局
file://该布局为网格布局
file://四个参数分别为
file://行数,列数,水平间隔(像素),垂直间隔(像素)
sans=new Button("Sans Serif");
fnames.add(sans);
serif=new Button("Sans Serif");
fnames.add(serif); file://分别添加两个按钮
add(fnames,"South"); file://将Panel列入BorderLayout布局中
file://下面的程序为设置左部即西边的三个按钮
styles=new Panel();
styles.setLayout(new GridLayout(3,1,10,5));
bold=new Button("Bold");
styles.add(bold);
bigger=new Button("bigger");
styles.add(bigger);
smaller=new Button("Smaller");
styles.add(smaller);
add(styles,"West");
sample=new SampleCanvas();
add(sample,"Center");
setSize(200,200);//这句话别掉罗
// setVisible(true);
}
public void start(){
show();
}
public static void main(String[] args)//初始化
{
Layout MainFrame=new Layout();
MainFrame.start();
}
class SampleCanvas extends Canvas
{
String message;
public SampleCanvas() file://类的构造函数
{
rewrite("SanSerif"); file://只在创建对象的时候执行,java不支持析构函数
}
public void rewrite(String s)
{
setFont(new Font(fName,fBold,fSize));
message="This font is"+fName;
repaint();
}
public void paint(Graphics g)
{
g.drawString(message,10,50);
}
}
}
class MainFrame extends Frame{2.MainCanvas类.该画布对象将完成所有与方块有关的逻辑操作,从Canvas类继承
public MainFrame(){//初始化工作,主要是给对象(按钮,画布等)布局
}
public boolean keyDown(Event e,int key){//处理键盘操作
}
public boolean action(Event e,Object arg){//处理鼠标操作
}
public void start(){//看前几天笔记
show();
}
public static void main(String args[]) throws IOException{
MainFrame app;
app=new MainFrame();
app.start();
}
}