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(); } }
相关文章