java使用MVC编程模型实现1+到100图形界面
时间:2019-06-17
本文章向大家介绍java使用MVC编程模型实现1+到100图形界面,主要包括java使用MVC编程模型实现1+到100图形界面使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
- 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(); } }
原文地址:https://www.cnblogs.com/lry1/p/11042175.html
- Golang事务模型
- 厚土Go学习笔记 | 35. web服务器实现动态路径
- 数据库连接池、dbutil_知识点全掌握
- Golang 序列化之 ProtoBuf
- Golang RPC 之 gRPC
- 解决连通性问题的四种算法
- 使用shell批量生成数据整合式迁移的脚本(r8笔记第52天)
- Jdbc知识点全整理,你值得拥有 (1)
- SSD: Single Shot MultiBox Detector 深度学习笔记之SSD物体检测模型
- dg broker校验失败的一个奇怪问题(r8笔记第50天)
- golang 几种字符串的连接方式
- 整理ING
- dg broker校验失败的一个奇怪问题(二) (r8笔记第51天)
- Jdbc知识点全整理,你值得拥有 (2)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 014.Nginx跨域配置
- 深入理解 FilterChainProxy【源码篇】
- matplotlib基础绘图命令之bar
- 使用 Github Actions 自动部署 Angular 应用到 Github Pages
- 路径中关于斜杠/和反斜杠 的区别
- Redis的高级特性与应用场景(二)
- Redis的高级特性与应用场景(一)
- 022.基于IT论坛案例学习Elasticsearch(一):Filter相关知识
- 耐人寻味的逻辑错误
- 实践搭建Sentry异常中心结合Laravel使用
- 自动化部署 - Laravel Deploy实战
- 正则表达式 | 锚点
- adb shell读取设置手机ocd值以及ocd介绍
- sqli-labs练习(第三、四关)
- 使用 Python 操作 word文档