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