一、AWT、Swing
Swing是在AWT基础上构建的新的图形界面系统,对AWT进行了扩充。两者的区别:AWT基于c/c++,速度较快;Swing基于AWT的java程序,速度慢一些。基本框架如下图:
二、图形设计的流程
java图形界面程序包涵顶层容器、中间容器、组件。在设计这个图形界面的时候就是依次实现这三个的过程。
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class demo1 {
demo1(){
JFrame frame = new JFrame();
frame.setTitle("hello");
JLabel l = new JLabel("hahah");
Container con =frame.getContentPane();
con.add(l);
frame.setLocation(200, 200);
frame.setVisible(true);
frame.setSize(410,180);
}
public static void main(String[] args){
new demo1();
}
}
JFrame框架
import javax.swing.JDialog;
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.JLabel;
public class demo1 {
demo1(){
JDialog jd = new JDialog();
JLabel jl = new JLabel("ha");
Container con = jd.getContentPane();
con.setLayout(new FlowLayout(FlowLayout.CENTER));
con.add(jl);
jd.setSize(400,180);
jd.setTitle("ha");
jd.setLocation(400, 400);
jd.setVisible(true);
}
public static void main(String[] args){
new demo1();
}
}
JDIalog框架
从上边的代码中,java图形界面的框架流程大致是:建立JFrame和JDialog这种*容器,建立中间容器Container,建立你所需要的小组件,将组件添加到容器中,设置组件位置以及事件的绑定。
三、我自己的一些小理解
java图形界面的建立是其实是一个很条理的过程,容器就是画板,panel就是你给这张纸划分的区域,像JLabel等小组件就是你在这些区域画的具体的物象,你所做的事情就是将你想要的组件分别画在几个区域,再将这几个排好顺序放到容器中即可。