使用javafx百行代码搞定多边形面积计算(可下载)

输出多边形面积

一、使用JavaFX Scene Builder 2.0制作界面,因为比较懒,直接偷工减料😁😁😁
界面部分非常简陋

在这里插入图片描述

1.引入库

//main.java 部分

public class main extends Application {@Overridepublic void start(Stage primaryStage) {try {// Read file fxml and draw interface.Parent root = FXMLLoader.load(getClass().getResource("windows.fxml"));primaryStage.setTitle("My Application");primaryStage.setScene(new Scene(root));primaryStage.show();} catch(Exception e) {e.printStackTrace();}}public static void main(String[] args) {launch(args);}}

//controller.java部分

package application;import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

//controller.java 部分

package application;import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.AnchorPane;

2.代码部分

controller.java

public class WindowsController {@FXMLprivate TextField kuan1;@FXMLprivate TextField kuan2;@FXMLprivate TextField banjing3;@FXMLprivate AnchorPane main;@FXMLprivate TextField chang2;@FXMLprivate TextField chang1;@FXMLprivate TextField bian1;@FXMLprivate TextField zhouchang3;@FXMLprivate TextField gao2;@FXMLprivate TextField zhouchang2;@FXMLprivate Button b1;@FXMLprivate TextField zhouchang1;@FXMLprivate Button b2;@FXMLprivate Button b3;@FXMLprivate TextField mianji2;@FXMLprivate TextField mianji3;@FXMLprivate TextField mianji1;@FXMLprivate Button calc1;@FXMLprivate Button calc2;@FXMLprivate Button calc3;@FXMLvoid action1(ActionEvent event) {double jcc = Double.parseDouble(chang1.getText());double jkk = Double.parseDouble(kuan1.getText());rectangle rectangleobject = new rectangle(jcc, jkk);zhouchang1.setText(String.format("%.2f", rectangleobject.zhouchang()));mianji1.setText(String.format("%.2f", rectangleobject.mianji()));}@FXMLvoid action3(ActionEvent event) {double ybb = Double.parseDouble(banjing3.getText());circular circularobject = new circular(ybb);zhouchang3.setText(String.format("%.2f", circularobject.zhouchang()));mianji3.setText(String.format("%.2f", circularobject.mianji()));}@FXMLvoid action2(ActionEvent event) {double shangdi = Double.parseDouble(chang2.getText());double xiadi = Double.parseDouble(kuan2.getText());double gao = Double.parseDouble(gao2.getText());double yao1 = Double.parseDouble(bian1.getText());double yao2 = Double.parseDouble(bian1.getText());tixing t1 = new tixing(shangdi, xiadi, gao, yao1, yao2);zhouchang2.setText(String.format("%.2f", t1.zhouchang()));mianji2.setText(String.format("%.2f", t1.mianji()));}private abstract class shape{private double length;private double angle;abstract double zhouchang();abstract double mianji();}//矩形类public class rectangle extends shape{// 属性double edge1, edge2;// 方法rectangle(double edge1, double edge2) {this.edge1 = edge1;this.edge2 = edge2;}double zhouchang() {return (2 * edge1 + 2 * edge2);}double mianji() {return (edge1 * edge2);}}//圆形类public class circular extends shape{// 属性double radius;// 方法circular(double radius) {this.radius = radius;}double zhouchang() {return (2 * radius * 3.14);}double mianji() {return (radius * radius * 3.14);}}//梯形类public class tixing extends shape{// 属性double upperline, underline, high, xiebian1, xiebian2;// 方法tixing(double upperline, double underline, double xiebian1, double xiebian2, double high) {this.upperline = upperline;this.underline = underline;this.xiebian1 = xiebian1;this.xiebian2 = xiebian2;this.high = high;}double zhouchang() {return (upperline + underline + xiebian1 + xiebian2);}double mianji() {return ((upperline + underline) * high * 0.5);}}}

结果

在这里插入图片描述

总结

由于对界面开发这方面没有太过深入的了解,做的非常垃圾,不过可以开阔自己的知识面,增加广度。
点击此处下载:下载地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497177.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Extract Interface(提炼接口)

两个类的接口有部分相同 重构:将相同的子集提炼到一个独立接口中

Google Analytics(分析)

前两次我给大家介绍过google的gmail服务(google的Gmail服务 赠送邀请函 )和网上论坛服务(google 网上论坛 )。其实google还有很的网络产品都是供大家免费使用的,而且都是一些很优秀的产品或者是工具。我除了使用介绍过…

设计模式1—创建型模式

模式在一定环境中解决某一问题的方案,包括三个基本元素--问题,解决方案和环境。大白话:在一定环境下,用固定套路解决问题。设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码…

C++学习之路 | PTA乙级—— 1021 个位数统计 (15分)(精简)

1021 个位数统计 (15分) 给定一个 k 位整数 Nd ​k−1 ​​ 10 ​k−1 ​​ ⋯d ​1 ​​ 10 ​1 ​​ d ​0 ​​ (0≤d ​i ​​ ≤9, i0,⋯,k−1, d ​k−1 ​​ >0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N100311,…

Collapse Hierarchy(折叠继承体系)

超类和子类之间无太大区别 重构:将它们合为一体

65% 的钱被头部玩家拿走,人工智能要进入下半场?

来源:IT桔子概要:2017年,自动驾驶、医疗影像、AI教育成为焦点;一多半AI风险投资被第一梯队选手收入囊中,并快速成长为独角兽。2017年,自动驾驶、医疗影像、AI教育成为焦点;一多半AI风险投资被第…

转:用ASP.NET创建网络相册

用ASP.NET创建网络相册 在现在的数码时代,我们会经常拍摄一些相片以供留念,而随着数码照片的增多,往往需要很好地管理这些照片,以便更好地查阅留念。现在网上有不少的电子相册,都能很好的实现这些功能,那我…

设计模式2—结构型模式

结构型模式用来处理类或者对象的组合,主要包含以下7种设计模式:1. 代理模式(Proxy Pattern)就是为其他对象提供一种代理以控制对这个对象的访问。2. 装饰者模式(Decorator Pattern)动态的给一个对象添加一些…

C++学习之路 | PTA乙级—— 1022 D进制的A+B (20分)(精简)

1022 D进制的AB (20分) 输入两个非负 10 进制整数 A 和 B (≤2 ​30 ​​ −1)&#xff0c;输出 AB 的 D (1<D≤10)进制数。 输入格式&#xff1a; 输入在一行中依次给出 3 个整数 A、B 和 D。 输出格式&#xff1a; 输出 AB 的 D 进制数。 输入样例&#xff1a; 123 45…

Form Template Method(塑造模板函数)

有一些子类&#xff0c;其中相应的某些函数以相同顺序执行类似的操作&#xff0c;但各个操作的细节有不同 重构&#xff1a;将这些操作分别放进独立函数中&#xff0c;并保持它们都有相同的签名&#xff0c;然后将原函数上移至超类

自动驾驶第一案结果敲定,谷歌无人驾驶和Uber达成2.5亿美元和解协议

来源&#xff1a;36氪概要&#xff1a;Uber 与谷歌无人驾驶部门 Waymo 的法律纠纷以庭外和解的方式告一段落。Uber 与谷歌无人驾驶部门 Waymo 的法律纠纷以庭外和解的方式告一段落。上周五 &#xff0c;Uber 表示&#xff0c;公司已经和 AlphabetInc 旗下的无人驾驶汽车公司 Wa…

FastReport v3.2.5在BDS2006中的安装方法

FastReport v3.2.5在BDS2006中的安装方法 // Windows XP Pro SP2 Delphi2006 Update 1 TeeChart pro v7.06 // 安装前请删除老版本的FastReport控件。 1. "Tools|Options|Environmet Options|Delphi Options|Library - Win32"中的"Directories"标签面…

C++学习之路 | PTA乙级—— 1023 组个最小数 (20分)(精简)

1023 组个最小数 (20分) 给定数字 0-9 各若干个。你可以以任意顺序排列这些数字&#xff0c;但必须全部使用。目标是使得最后得到的数尽可能小&#xff08;注意 0 不能做首位&#xff09;。例如&#xff1a;给定两个 0&#xff0c;两个 1&#xff0c;三个 5&#xff0c;一个 8…

物联网将在2018年实现大规模发展:以下是IBM的4大预测

来源&#xff1a;forbes物联网智库 编译概要&#xff1a;随着连接设备的数量达到110亿台&#xff08;不包括电脑和手机的连接量&#xff09;&#xff0c;很显然&#xff0c;在2018年&#xff0c;物联网将继续成为热点话题。随着连接设备的数量达到110亿台&#xff08;不包括电脑…

佛祖说出的爱情箴言

一、石头问&#xff1a;我究竟该找个我爱的人做我的妻子呢&#xff1f;还是该找个爱我的人做我的妻子呢&#xff1f;佛笑了笑&#xff1a;这个问题的答案其实就在你自己的心底。这些年来&#xff0c;能让你爱得死去活来&#xff0c;能让你感觉得到生活充实&#xff0c;能让你挺…

Replace Inheritance with Delegation(以委托取代继承)

某个子类只使用超类接口中的一部分&#xff0c;或是根本不需要继承而来的数据 重构&#xff1a;在子类中新建一个字段用来保存超类&#xff0c;调整子类函数&#xff0c;令它改而委托超类&#xff0c;然后去掉两者的继承关系

设计模式3—行为型模式

行为型模式用来对类或对象怎样交互和怎样分配职责进行描述&#xff0c;主要包含以下11种设计模式&#xff1a; 模板方法模式&#xff08;Template Method Pattern&#xff09; 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 命令模式&#xff08;Command…

javax.servlet.http.HttpServletRequest接口(HTTP版本)

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> HttpServletRequest类主要处理&#xff1a;1.读取和写入HTTP头标2.取得和设置cookies3.取得路径信息4.标识HTTP会话。HttpServletRequest接口中的方法 String getAuthType() …

C++学习之路 | PTA(天梯赛)—— L3-003 社交集群 (30分) (带注释) (并查集) (精简)

L3-003 社交集群 (30分) 当你在社交网络平台注册时&#xff0c;一般总是被要求填写你的个人兴趣爱好&#xff0c;以便找到具有相同兴趣爱好的潜在的朋友。一个“社交集群”是指部分兴趣爱好相同的人的集合。你需要找出所有的社交集群。 输入格式&#xff1a; 输入在第一行给出…

国家重点研发计划高新领域 “智能机器人、网络协同制造和智能工厂”重点专项2018年度项目申报指南建议

来源&#xff1a;机器人创新生态概要&#xff1a; 针对我国网络协同制造和智能工厂发展模式创新不足、技术能力尚未形成、融合新生态发展不足、核心技术/软件支撑能力薄弱等问题。征求意见时间为2018年2月8日至2018年2月22日。电子邮箱&#xff1a;重点专项名称邮箱地址智能机器…