需求: 实现这样的一个需求,我们可以先进行分析,然后分步骤实现。
- 首先第一点,外边的整个一部分,肯定需要一个窗体容器包裹起来。
- 然后可以将他们看成两个部分,上面半块是一个部分,下面半块是一个部分
- 然后在对两个半块部分的内容进行分析,按钮是肯定需要的,然后就是布局方式,布局方式的话肯定是一个东南西北中,那中间可以放一个面板,然后在对面板的布局方式进行处理,可以用表格布局方式,设置成两行一列的,然后在把按钮嵌入进去。
- 经过这样的梳理,需求目标就很明确了,下面部分也是同理,只不过进行一些稍稍的改变即可。
- 下面我们来进行代码实现
package com.Ltz2.test;
import java.awt.*;
import java.awt.event.*;
public class MyTestScore {
public static void main(String[] args) {
new Myt_Frame("这是作业的编写逻辑");
}
}
class Myt_Frame extends Frame{
public Myt_Frame(String t){
super(t);
setVisible(true);
setBounds(300,300,900,560);
setResizable(true);
setBackground(Color.pink);
Panel pOne = new Panel(new BorderLayout());
Panel pTwo = new Panel(new GridLayout(2,1));
Panel pThree = new Panel(new BorderLayout());
Panel pFour = new Panel(new GridLayout(2,2));
pOne.add(new Button("button-1-East"),BorderLayout.EAST);
pOne.add(new Button("button-1-WEST"),BorderLayout.WEST);
pTwo.add(new Button("button-1-1"));
pTwo.add(new Button("button-1-2"));
add(pOne);
}
}
//经执行后,看其效果 上半部分的需求,我们就实现好了,下面开始实现下半个部分的效果
package com.Ltz2.test;
import java.awt.*;
import java.awt.event.*;
public class MyTestScore {
public static void main(String[] args) {
new Myt_Frame("这是作业的编写逻辑");
}
}
class Myt_Frame extends Frame{
public Myt_Frame(String t){
super(t);
setVisible(true);
setBounds(300,300,900,560);
setResizable(true);
setBackground(Color.pink);
Panel pOne = new Panel(new BorderLayout());
Panel pTwo = new Panel(new GridLayout(2,1));
Panel pThree = new Panel(new BorderLayout());
Panel pFour = new Panel(new GridLayout(2,2));
pOne.add(new Button("button-1-East"),BorderLayout.EAST);
pOne.add(new Button("button-1-WEST"),BorderLayout.WEST);
pTwo.add(new Button("button-1-1"));
pTwo.add(new Button("button-1-2"));
pOne.add(pTwo,BorderLayout.CENTER);
pThree.add(new Button("button-2-WEST"),BorderLayout.WEST);
pThree.add(new Button("button-2-EAST"),BorderLayout.EAST);
pFour.add(new Button("button-2-1"));
pFour.add(new Button("button-2-2"));
pFour.add(new Button("button-2-3"));
pFour.add(new Button("button-2-4"));
pThree.add(pFour,BorderLayout.CENTER);
setLayout(new GridLayout(2,0));
add(pOne);
add(pThree);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
//其中,需要注意的点,我已经在注释中说明好了,然后最后来看一下实现的效果 一个简单的小需求练习,我们就实现好了
|