资源简介
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 毕业设计 进销存管理系统 源码
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- JSP,SQL,MVC的选课系统
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
川公网安备 51152502000135号
评论
共有 条评论