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

最新文章

  1. windows系统中WIN键的快捷组合
  2. 流媒体测试笔记记录之————解决问题video.js 播放m3u8格式的文件,根据官方的文档添加videojs-contrib-hls也不行的原因解决了
  3. ue4 Worldmachine 结合使用
  4. css3实现动态圆形导航栏
  5. mongo链接报错:couldn&#39;t connect to server 127.0.0.1:27017 (127.0.0.1)
  6. WEB前端性能优化:HTML,CSS,JS和服务器端优化
  7. chrome扩展——Postman
  8. 7 -- Spring的基本用法 -- 8...
  9. java项目创建和部署
  10. Mojo 自动发布接口
  11. 使用android SpannableStringBuilder实现图文混排,看到许多其他
  12. MySQL 笔记 —— 日期和时间函数
  13. poj2901 Hotel
  14. JS经典题目解析
  15. ireport使用
  16. Codeforces 600 E - Lomsat gelral
  17. Yii中文乱码 解决
  18. json中key大小写转换
  19. sql常用优化
  20. MSSQL 基础知识001

热门文章

  1. Hexo系列(三):Hexo主题
  2. .net 下SSE使用demo
  3. CF863E - Turn Off The TV
  4. Java第三讲动手动脑
  5. crypto-gmsm国密算法库
  6. 98、TypeError: f.upload.addEventListener is not a function
  7. 项目管理 VS. 个人计划
  8. css实现水波纹
  9. 如果还有问ARKIME不会部署安装,你就把这篇丢给他!
  10. git常规操作