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

java使用MVC编程模型实现1+到100图形界面的更多相关文章

  1. MVC 编程模型及其变种

    MVC 编程模型及其变种 MVC全称是Model View Controller, 这是一个模型(model)-查看(view)-调节器(controller)缩写,这是通过通用的编程模型非.MVC当 ...

  2. MVC编程模型

    MVC 编程模型 MVC 是三个 ASP.NET 开发模型之一. MVC 是用于构建 web 应用程序的一种框架,使用 MVC (Model View Controller) 设计: Model(模型 ...

  3. Java的多线程编程模型5--从AtomicInteger开始

    Java的多线程编程模型5--从AtomicInteger开始 2011-06-23 20:50 11393人阅读 评论(9) 收藏 举报 java多线程编程jniinteger测试 AtomicIn ...

  4. java 多线程——并发编程模型 学习笔记

                                                                                                 并发编程模型 ...

  5. Java 快速开发几 MB 独立 EXE,写图形界面很方便

    Java 写的桌面软件带上运行时只有 6 MB,而且还是独立 EXE 文 件,是不是难以置信? 想一想 Electron 没写多少功能就可能超过百 MB 的体积,Java 写的桌面软件算不算得上小.轻 ...

  6. ASP.NET MVC编程——模型

    1 ViewModel 是一种专门提供给View使用的模型,使用ViewModel的理由是实体或领域模型所包含的属性比View使用的多或少,这种情况下实体或领域模型不适合View使用. 2模型绑定 默 ...

  7. MVC笔记之一:MVC编程模型

    MVC是ASPX.NET用于构造Web应用的一种框架,和传统的ASPX.NET开发模式(Web Form)在架构上相同,同样采用三层框架实现,但相比传输开的模式,各层架构更加规范. 传统三层架构: V ...

  8. springweb flux 编程模型

    Spring WebFlux 编程模型是在spring5.0开始,springbot2.0版本设计出来的新的一种反应式变成模型.它脱胎于reactor模式,是java nio 异步编程模型. 传统一般 ...

  9. AMQ学习笔记 - 02. JMS客户端编程模型

    概述 客户端编程模型,是讲如何使用JMS API实现Java应用程序和JMS Provider的通信. 消息传送模式 消息传送模式又称为消息传送域,JMS API定义了两种模式:PTP和Pub/Sub ...

  10. Java第5次实验提纲(Java图形界面编程)

    1. Swing与NetBeans 使用NetBeans编写简单界面.见GUI实验参考文件中的0.第06次实验(图形程序设计.事件处理与Swing).doc 题目1: Swing用户界面组件与事件处理 ...

随机推荐

  1. AcWing 141 周期

    题目:https://www.acwing.com/problem/content/143/ 一个字符串的前缀是从第一个字符开始的连续若干个字符,例如"abaab"共有5个前缀,分 ...

  2. NameError: name '_name_' is not defined

    if _name_ == '_main_': 错误的原因可能是name是双下划线.(明显下面的下划线要长一点) if __name_ == '_main__':

  3. Spring MVC + Webapp 项目显示 404 错误

    这是因为 Tomcat 版本,把 Tomcat10 换成 Tomcat9 就可以解决这个问题了.下面是我正在做的一个 Spring MVC 入门案例,因为 Tomcat 10,DispatcherSe ...

  4. linux系统下,添加硬盘并挂载到操作系统的shell 脚本范例

    #!/bin/sh #新添加硬盘挂载到操作系统 pvcreate /dev/sdb   / / 一般新添加硬盘都是识别为sdb,当然,也不一定,要具体情况具体分析. vgcreate datavg / ...

  5. LeetCode-1664 生成平衡数组的方案树

    题目描述 来源:力扣(LeetCode)链接:https://leetcode.cn/problems/ways-to-make-a-fair-array 给你一个整数数组 nums .你需要选择 恰 ...

  6. pat 乙级 1025 反转链表

    目前无法ac过最后一个测试点,其余ac,原因是有无效节点存在,但这个代码加上去除无效节点函数时便会运行超时 还没想出来怎么做,先这样吧 #include <stdio.h> #includ ...

  7. IIS部署WGCMS

    一.下载所需的微软程序文件 安装插件:下载后直接安装就可以了,没有什么好说的. 安装1:点击下载 安装2:点击下载 二.在IIS上添加应用程序池 打开IIS,按照图片所示:在"应用程序池&q ...

  8. spring boot 跨域

    spring boot提供了两种跨域配置方式 1.全局跨域 2.局部跨域 全局跨域 package com.tons.config; import org.springframework.contex ...

  9. 【5】java之日期处理类

    一.Date 类 ​ 在 Java 里提供有一个 java.util.Date 类,可以直接获取当前的日期时间. 范例:获取当前的日期时间 public class TestDemo { public ...

  10. java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)问题

    此报错大多数存在的问题为mysql密码错误,需要去JDBC文件中寻找url查看是否密码错误.