资源简介
Java实现一个模型、两个视图和两个控制器的功能软件,即采用MVC模式或者说是观察者模式,本程序通过输入球体半径,显示球体形状,面积体积等
Sphere.java
package Model;
import java.util.Observable;
public class Sphere extends Observable {
private double radius;//球体半径
private double area;//球体面积
private double volume;//球体体积
public Sphere()
{
radius=100d;
area=4*Math.PI*Math.pow(radius, 2);
volume=4*Math.PI*Math.pow(radius, 3)/3;
}
public double getRadius()
{
return radius;
}
public double getArea()
{
return area;
}
public double getVolume()
{
return volume;
}
public void setRadius(double radius)
{
this.radius = radius;
this.area = 4*Math.PI*Math.pow(radius, 2);
this.volume=4*Math.PI*Math.pow(radius, 3)/3;
this.setChanged();
this.notifyObservers();
}
}
textView.java
package View;
import java.util.Observer;
import java.util.Observable;
import java.text.NumberFormat;
import javax.swing.*;
import Controller.TextController;
import Model.Sphere;
import java.awt.*;
import java.awt.event.*;
public class TextView extends JPanel implements Observer
{
private JLabel radiusLab;//提示用户输入球体半径
private JTextField radiusTextField;//接受用户输入球体半径
//private JLabel radiusRang;
private JLabel areaLab;//显示球体面积
private JTextField areaTextField;//显示输入球体半径对应的面积
private JLabel volumeLab;//显示球体体积
private JTextField volumeTextField;//显示输入球体半径对应的体积
public TextView()
{
try {
Init();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void Init() throws Exception {
radiusLab=new JLabel("球体半径");
radiusLab.setForeground(new Color(0,165,168));
//radiusRang=new JLabel("[0-200]");
radiusTextField = new JTextField(12);
radiusTextField.setForeground(new Color(223,100,158));
radiusTextField.setBackground(new Color(210,204,230));
areaLab=new JLabel("球体面积");
areaLab.setForeground(new Color(0,165,168));
areaTextField = new JTextField(12);
areaTextField.setBackground(new Color(193,219,219));
areaTextField.setEditable(fal
代码片段和文件信息
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.Jframe;
import javax.swing.JTextField;
import Controller.GraphicController;
import Controller.TextController;
import Model.Sphere;
public class SphereWindow extends Jframe implements ActionListener {
private Sphere sphere;
public SphereWindow()
{
super(“根据球体半径显示球体面积体积“);
sphere= new Sphere();
TextController tController = new TextController(sphere);
GraphicController gController = new GraphicController(sphere);
setLayout(new GridLayout(1 2));
add(tController.getTextView());
add(gController.getGranphicView());
setSize(600 400);
}
@Override
public void actionPerformed(ActionEvent e) {
JTextField jtfield = (JTextField) e.getSource();
String radius = jtfield.getText();
sphere.setRadius(new Float(radius));
// TODO Auto-generated method stub
}
public static void main(String[] args) {
SphereWindow spherewindow = new SphereWindow ();
spherewindow.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
spherewindow.setVisible(true);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2014-03-31 12:39 MVCSphere\.classpath
文件 385 2014-03-31 12:39 MVCSphere\.project
文件 598 2014-03-31 12:39 MVCSphere\.settings\org.eclipse.jdt.core.prefs
文件 1404 2014-04-01 22:59 MVCSphere\bin\Controller\GraphicController$1.class
文件 1668 2014-04-01 22:59 MVCSphere\bin\Controller\GraphicController$2.class
文件 1651 2014-04-01 22:59 MVCSphere\bin\Controller\GraphicController.class
文件 116 2014-04-01 22:47 MVCSphere\bin\Controller\package-info.class
文件 1729 2014-04-01 22:48 MVCSphere\bin\Controller\TextController.class
文件 111 2014-04-01 22:46 MVCSphere\bin\Model\package-info.class
文件 912 2014-04-01 22:47 MVCSphere\bin\Model\Sphere.class
文件 1806 2014-04-01 22:48 MVCSphere\bin\SphereWindow.class
文件 1742 2014-04-01 22:59 MVCSphere\bin\View\GraphicsView.class
文件 110 2014-04-01 22:45 MVCSphere\bin\View\package-info.class
文件 2694 2014-04-01 22:48 MVCSphere\bin\View\TextView.class
文件 2660 2014-04-01 22:53 MVCSphere\src\Controller\GraphicController.java
文件 74 2014-04-01 22:47 MVCSphere\src\Controller\package-info.java
文件 1193 2014-04-01 22:48 MVCSphere\src\Controller\TextController.java
文件 69 2014-04-01 22:46 MVCSphere\src\Model\package-info.java
文件 697 2014-04-01 22:47 MVCSphere\src\Model\Sphere.java
文件 1233 2014-04-01 22:48 MVCSphere\src\SphereWindow.java
文件 1145 2014-04-01 22:59 MVCSphere\src\View\GraphicsView.java
文件 68 2014-04-01 22:45 MVCSphere\src\View\package-info.java
文件 3271 2014-04-01 22:48 MVCSphere\src\View\TextView.java
目录 0 2014-04-01 22:48 MVCSphere\bin\Controller
目录 0 2014-04-01 22:47 MVCSphere\bin\Model
目录 0 2014-04-01 22:48 MVCSphere\bin\View
目录 0 2014-04-01 22:48 MVCSphere\src\Controller
目录 0 2014-04-01 22:47 MVCSphere\src\Model
目录 0 2014-04-01 22:48 MVCSphere\src\View
目录 0 2014-03-31 12:39 MVCSphere\.settings
............此处省略6个文件信息
相关资源
- java+Mysql开发的备忘录系统
- Naive Bays朴素贝叶斯算法在JAVA中的实现
- java画图板
- Java编程思想第四版 typeinfo.pets.jar文件
- 简单的遗传算法 java 源代码
- CVRP 车辆路径问题 java 源代码
- OneNet设备云平台javaAPI
- 公交线路查询系统————java
- 竞赛java编程题50题(有答案)
- Java计算器实验报告
- JSP、JavaBean和Servlet完成一个简单的留
- RPN计算器 java代码
- knn(java实现)
- ( 停车场管理系统(java
- 棋盘问题JAVA实现
- 元胞自动机的Java程序
- java web 外文文献
- 文件加密与解密的java代码
- java动态登录界面
- jsp servlet javabean实现的简单网上购物车
- java后台实现用list接收重复的对象属性
- 基于Java的教学评价系统的设计与实现
- java线段类
- java实现的bp神经网络算法,代码超级
- RSS阅读器java
- javac/c++phpc#安全编码规范
- JAVAC/S登陆界面
- JAVA 酒店客房管理
- 通过JSP实现 图片上传
- spring boot+mybatis+spring mvc整合开发超市
评论
共有 条评论