欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-10-08 18:48:10
MVC编程模型是可以说从提出到现在经久不败,是一种先进的设计结构。能很好的体现个人分工,从而实现前后端分离。 M(Model):模型:存储数据的对象。后端操作数据库的。 V(View):视图:为模型提供数据显示对象。前端页面显示。 C(Controller):控制器:处理用户的交互操作,对于用户的操 ......
  1. mvc概念

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

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

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

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

2.java图形界面


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

3.实例结果

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

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();
    }
}