当前位置: 移动技术网 > IT编程>开发语言>Java > java使用MVC编程模型实现1+到100图形界面

java使用MVC编程模型实现1+到100图形界面

2019年06月18日  | 移动技术网IT编程  | 我要评论
  1. mvc概念

mvc编程模型是可以说从提出到现在经久不败,是一种先进的设计结构。能很好的体现个人分工,从而实现前后端分离。

m(model):模型:存储数据的对象。后端操作数据库的。

v(view):视图:为模型提供数据显示对象。前端页面显示。

c(controller):控制器:处理用户的交互操作,对于用户的操作做出响应。让模型和视图进行必要的交互;即通过视图修改,获取模型中的数据;当模型中的数据变化时,让视图更新显示。

2.java图形界面


通过图形用户界面gui(graphics user interface),用户和程序之间可以方便的进行交互。gui提供一个与操作系统交互的容器,jframe窗口。

3.实例结果

4.代码

model1.java

package view;
public class model1 {
    int sum=0;
    int calculate(int startnumber,int endnumber){
        for (startnumber=startnumber;startnumber<=endnumber;startnumber++)
        {
            sum=sum+startnumber;
        }
        return sum;
    }

}

view1.java

package view;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class view1 extends  jframe {
    //this is view need  a few of components
    jlabel startlabel,endlabel;//标签
    jtextfield textstartnumber,textendnumber;//文本框
    jtextarea sumtextarea;
    jbutton jbutton;//按钮
    jscrollpane jscrollpane;//容器,滚动窗格,放入内容

    void init(){
        //1.布局
        setlayout(new flowlayout());
        settitle("mvc计算开始到结束+1数值之和");
        setbounds(450,100,600,300);
        startlabel=new jlabel("开始数据");
        add(startlabel);
        textstartnumber=new jtextfield(5);
        add(textstartnumber);
        jlabel endlabel=new jlabel("结束数据");
        add(endlabel);
        textendnumber=new jtextfield(10);
        add(textendnumber);
        jbutton=new jbutton("求和");
        add(jbutton);
        sumtextarea=new jtextarea(10,50);
        add(sumtextarea);
        add(new jscrollpane(sumtextarea));

        //设置监听器
        controller1 controller1=new controller1();
        controller1.settextstartnumber(textstartnumber);
        controller1.settextendnumber(textendnumber);
        controller1.setsumtextarea(sumtextarea);

        //添加监听器
        jbutton.addactionlistener(controller1);

    }
    //视图展示
    public view1(){
        init();
        setvisible(true);
        setdefaultcloseoperation(jframe.exit_on_close);
    }
}

controller1.java

package view;

import javax.swing.*;
import java.awt.event.actionevent;
import java.awt.event.actionlistener;

public class controller1 extends jframe implements actionlistener {
    jtextfield textstartnumber,textendnumber;
    jtextarea sumtextarea;
    void settextstartnumber(jtextfield textstartnumber){
        this.textstartnumber=textstartnumber;
    }
    void settextendnumber(jtextfield textendnumber1){
        this.textendnumber=textendnumber1;
    }
    void setsumtextarea(jtextarea sumtextarea){
        this.sumtextarea=sumtextarea;
    }
    /*
    * 重写接口
    * */
    public void actionperformed(actionevent e){
        int start=integer.parseint(textstartnumber.gettext());
        int end=integer.parseint(textendnumber.gettext());
        model1 model1=new model1();
        int sum=model1.calculate(start,end);
        sumtextarea.append("开始数据"+start+"不断+1"+"直到结束数据"+end+"的和:"+sum+"\n");
    }
}

main.java

package view;

public class main {
    public static void main(string args[]){
        view1 view1=new view1();
    }
}

 

 

 

 

 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网