java GUI界面初步入门示例【AWT包】
本文实例讲述了javaGUI界面。分享给大家供大家参考,具体如下:
Java不太擅长做图形界面;
AWT是一种较老的包,最新的是Swing包,由于其包内调用了一部分的操作系统的内容,所以无法做到完全的跨平台。
对于每一个图形元素都是一个component类,其包含container,container是一个component,同时他又作为component的一个容器类,又可以存放component。在container中还有window和panel两种类,其中window类是独立的,可以直接显示,而panel类不独立,不能直接显示,必须依附于window类进行显示。在window下面还有Frame和Dialog,panel下面有applet,其中Frame是一个窗口,而Dialog是一个对话框,对于对话框有必须处理和不必须处理两种。
几个Frame/Panel实例
instance1:
添加几个基本的元素,构造方法一:建立一个Frame对象
importjava.awt.*;
publicclassTestGui{
publicstaticvoidmain(String[]args){
Framef=newFrame("MyFrame");
f.setBounds(30,30,300,300);
f.setBackground(Color.blue);
f.setResizable(true);
f.setVisible(true);
}
}
注:在方法中,location用来设置图形的位置,size用来设置图形的大小,而用bounds可以直接设置其位置和大小
instance2:
构造方法二,通过建立一个新的类进行创建,其中该类要继承Frame
importjava.awt.Color;
importjava.awt.Frame;
publicclassTestFrame2{
publicstaticvoidmain(String[]args)throwsException{
newMyFrame1(100,100,200,200,Color.BLUE);
newMyFrame1(100,300,200,200,Color.CYAN);
newMyFrame1(300,100,200,200,Color.gray);
newMyFrame1(300,300,200,200,Color.MAGENTA);
}
}
classMyFrame1extendsFrame{
staticintd=0;
MyFrame1(intx,inty,intw,intz,Colorc){
super("MyFrame"+++d);
//setTitle("MyFrame"+++d);
setBounds(x,y,w,z);
setBackground(c);
setResizable(true);
setVisible(true);
}
}
注:可以直接new一个对象而不给其指定名称,这样已经在内存里有了空间但是没有名称调用,
对于MyFrame其继承自Frame用其构造方法给图形起一个名字,也可以用setTitle方法,但是用super()时必须要求变量为静态的。(??)
Panel:
instance3:
importjava.awt.*;
publicclassTestPanel{
publicstaticvoidmain(String[]args){
Framef1=newFrame("MyFrame1");
Panelp1=newPanel();
f1.setBounds(300,300,600,600);
f1.setBackground(Color.blue);
f1.setLayout(null);
p1.setBounds(100,100,200,200);
p1.setBackground(Color.DARK_GRAY);
f1.add(p1);
f1.setResizable(true);
p1.setVisible(true);
f1.setVisible(true);
}
}
注:对于panel,由于其不能独立的显示所以必须要把它加入到一个window类中进行显示,
其和window类一样,必须调用其setVisible方法才能看的见。此外,这里setLayout参数是null,对应的对window进行拖动的时候,其内部的panel是不变的。
instance4:
importjava.awt.*;
publicclassTestPanel2{
publicstaticvoidmain(String[]args){
newMyFrame4("MyFrameH",300,300,400,400);
}
}
classMyFrame4extendsFrame{
//privatePenalp1,p2,p3,p4;
MyFrame4(Strings,intx,inty,intw,inth){
super(s);
setBounds(x,y,w,h);
setBackground(Color.BLUE);
setLayout(null);
setResizable(true);
setVisible(true);
Panelp1=newPanel(null);Panelp2=newPanel(null);
Panelp3=newPanel(null);Panelp4=newPanel(null);
p1.setBounds(0,0,w/2,h/2);p3.setBounds(w/2,0,w/2,h/2);
p2.setBounds(0,h/2,w/2,h/2);p4.setBounds(w/2,h/2,w/2,h/2);
add(p1);add(p2);add(p3);add(p4);
p1.setBackground(Color.CYAN);
p2.setBackground(Color.GRAY);
p3.setBackground(Color.GREEN);
p4.setBackground(Color.RED);
p1.setVisible(true);
p2.setVisible(true);
p3.setVisible(true);
p4.setVisible(true);
}
}
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。