由于开学又要准备答辩,疯狂肝java了现在就
要用汽车写一个租赁系统,还必须得用GUI,属于是现学现用了
简单来说就是awt包引用 布局管理器,框架 面板,还有一些关于集合的API,再加上之前学习的封装,总结出今天的代码。
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class FlowLayout {
public static void main(String[] args) {
int id = 0;
Frame f = new Frame();
f.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT));// 流式布局 左对齐
// f.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));// 流式布局 右对齐
// f.setLayout(new java.awt.FlowLayout());//流式布局 居中
f.setBounds(400,400,400,400);
f.setBackground(Color.black);
f.add(new Button("这是第"+(++id)+"个按钮"));
f.add(new Button("这是第"+(++id)+"个按钮"));
f.add(new Button("这是第"+(++id)+"个按钮"));
//注意为什么上面会是乱码 因为JDK不和windows用的一个系统 乱码解决方法:直接在在“Run“中输入-Dfile.encording=gbk即可;
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);//解决按X退出问题;
}
});
}
}
最后设计出一个这样的按钮界面,思路代码如下:思路
?
?按钮套面板 面板套面板 面板套框架,算是把流式 东西南北中 还有表格布局整的有点眉目了。
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import static java.awt.BorderLayout.WEST;
public class Homework {
public static void main(String[] args) {
Frame f =new Frame();
f.setBounds(400,400,400,400);
f.setVisible(true);
//因为用表格,黑色是否有用
f.setBackground(Color.BLACK);
f.setLayout(new GridLayout(2,1));
//4个面板 东西南北中
Panel p1 = new Panel(new BorderLayout());
Panel p2 = new Panel(new GridLayout(2,1));
Panel p3 = new Panel(new BorderLayout());
Panel p4 = new Panel(new GridLayout(2,2));
Button b1 = new Button("w1");
Button b2 = new Button("e1");
p1.add(b1, WEST);
p1.add(b2,BorderLayout.EAST);
for (int i = 1; i<=2 ;i++){
p2.add(new Button("i"+i));
}//p2要装四个按钮,这个时候没有区别,我们可以使用for循环
//然后把上面的p2面板插入到p1面板中;
p1.add(p2);
//同理可得
Button b3 = new Button("w2");
Button b4 = new Button("e2");
p3.add(b3,WEST);
p3.add(b4,BorderLayout.EAST);
for (int i =3;i<=6;i++){
p4.add(new Button("i"+i));
}
p3.add(p4);
//装完面板后,面板套框架;
f.add(p1);
f.add(p3);
//最后用关闭按钮关闭
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
?加油!
|