• 大小: 15KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: Java
  • 标签: MVC  球体  Java  

资源简介

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个文件信息

评论

共有 条评论