1.代码:
用输入输出语句表示窗口的创建
主函数:
public class mainClass {
public static void main(String[] args){
mainView mainView = new mainView();
mainView.touch();
}
}
窗口:抽象函数与接口的实现
public class mainView extends activity implements View.OnClickListener{
Button button;
ImageView img;
public mainView(){
onCreate();
}
@Override
public void onCreate() {
button = new Button("分享","红色");
img = new ImageView("海滩");
//添加控件
addChild(button);
addChild(img);
//告诉按键是谁在监听事件
button.onClickListener = this;
//给图片添加事件
img.onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("图片被点击了");
}
};
}
public void touch(){
//将屏幕被触摸的事件传递给按键
button.getToughEvent();
img.getToughEvent();
}
@Override
public void onDestory() {
}
//实现监听事件的接口
@Override
public void onClick(View v) {
System.out.println("按键被点击了");
}
}
定义抽象类(窗口主要的操作)
public abstract class activity {
public abstract void onCreate();
public abstract void onDestory();
//保存这个界面的所有子视图
public ArrayList<View> childs = new ArrayList<>();
//添加控件
public void addChild(View view){
if (view instanceof Button){
Button button = (Button)view;
System.out.println(button.title + "被添加到窗口上了");
}else {
ImageView imageView = (ImageView)view;
System.out.println(imageView.picture + "添加到窗口上了");
}
childs.add(view);
}
}
定义接口:
//管理视图的事件
public class View {
String backgroundColor;
String bordrerColor;
//记录谁在监听这个事件
OnClickListener onClickListener;
//内部接口,监听视图的事件
public interface OnClickListener{
void onClick(View v);
}
//控件监听事件
public void getToughEvent(){
onClickListener.onClick(this);
}
}
图片视图:(继承于View)
public class ImageView extends View{
String picture;
public ImageView(String picture){
this.picture = picture;
}
}
按键视图:(继承于View)
public class Button extends View{
String title;
String titleColor;
public Button(String title,String titleColor){
this.title = title;
this.titleColor = titleColor;
}
}
打印结果:
分享被添加到窗口上了
海滩添加到窗口上了
按键被点击了
图片被点击了