前段时间翻译《(翻译)布局和矩形中应用黄金分割比率》时在网上找了个在线计算黄金分割比率的网站(网址为 http://www.thismanslife.co.uk/projects/phiculator/),里面有个计算换进分割比率的计算器,如下图所示。功能其实很简单,就是计算输入值的黄金分割比例。该工具的主要功能如下:

  • 窗口上部最大的控件为计算结果显示界面;
  • 窗口左下方为数值输入区域,主要输入数值;
  • CE:AC为重置按钮,将输入值置为1,将输出结果置为1.618033988749;
  • INFO为关于按钮,提示程序相关信息;
  • Φ INT按钮设置输出结果为整数值;
  • Φ按钮设置输出结果为12位小数值。

  仿照上述网站中工具的功能和界面,在Eclipse中用Swing也编写了类似的界面,界面如下图所示。程序代码比较简单,代码地址:https://github.com/guochao2299/GoldenRatioCalculator。需要说明的是以下几个问题(针对新手而言):

隐藏JFrame最大最小按钮

  由于界面比较简单,不想要窗口左上方的最大最小按钮。百度了资料,也查了JFrame的一些属性。使用下列代码可以去掉最大最小按钮,不仅如此,是将整个标题栏都给去掉了,效果如下,主要是没法拖动窗口。

this.setUndecorated(true); // 去掉窗口的装饰
this.getRootPane().setWindowDecorationStyle(JRootPane.NONE);


  还试了一种方式,在WindowsBuilder中JFrame的属性面板中设置Type属性值为UTILITY,这样也可以仅保留关闭按钮,效果如下所示,可以拖动窗口,但是在桌面任务栏中看不到该窗口。

设置JButton多行文本

  JButton中设置多行文本得输入html语句。缺点是太麻烦,优点是可以根据需要设置文本样式,比较灵活。

JButton btnNewButton_1 = new JButton("<html><center>\u03A6</center><br>INT</html>");
设置JLabel背景色

  JLabel控件模型背景是透明的,如果需要设置JLabel的背景色,首先得调用setOpaque函数设置背景为不透明(或在属性面板中设置opaque为true,该属性默认在WindowsBuilder属性面板中显示,设置了之后才会显示),然后再设置控件的背景色。

参考文献:
1、https://uxmovement.com/content/applying-the-golden-ratio-to-layouts-and-rectangles/
2、http://www.thismanslife.co.uk/projects/phiculator/
3、https://bbs.csdn.net/topics/50259369
4、JLabel设置背景颜色和设置文字颜色,https://blog.csdn.net/u014447968/article/details/51227562/
5、Java-如何去掉JFrame上的最大化最小化和关闭按钮,https://www.linuxidc.com/Linux/2013-08/89321.htm
6、Java中double保留指定位数的两种方法,https://blog.csdn.net/Lancer96/article/details/78770203?utm_source=blogxgwz5

Eclipse中用Swing编写简单的黄金分割比率计算器相关推荐

  1. JAVA Swing实现简单的体重指数(BMI)计算器

    BMI,Body Mass Index,身体质量指数,是用体重公斤数 除以 身高米数平方得出的,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准. 而本文通过运用Java Swing实现了一个 ...

  2. 使用python的while语句,编写简单门票与年龄计算器

    假设游乐园或不同的景点会根据年龄收取不同的票价: 1.不到3岁的小孩免门票: 2.3岁到12岁的小孩需买儿童票,每张10元: 3.超过12岁的小孩及成人则需买成人票,每张20元: 4.大于60岁的老人 ...

  3. python年龄计算器_使用python的while语句,编写简单门票与年龄计算器

    假设游乐园或不同的景点会根据年龄收取不同的票价: 1.不到3岁的小孩免门票: 2.3岁到12岁的小孩需买儿童票,每张10元: 3.超过12岁的小孩及成人则需买成人票,每张20元: 4.大于60岁的老人 ...

  4. ubuntu系统中用c语言编写简单程序

    目录 (一):修改参数提高下载速度 (二):c语言入门编写helloworld (三):在ubuntu系统下编写简单程序 (四):在windows系统下编写简单程序 (五):在ubuntu系统下使用m ...

  5. python程序-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

  6. java applet eclipse_在JDK和Eclipse下如何编写和运行Java Applet

    在JDK和Eclipse下如何编写和运行Java Applet Java Applet的源代码如下: import java.applet.*; import java.awt.*; public c ...

  7. java中用swing做一个windows计算器

    java中用swing做一个windows计算器 主函数 普通计数器 科学计算器 注意: 前言: 来看这篇教程估计都是java课程设计吧,现在已经没有公司很少使用swing组件了,java主要还是开发 ...

  8. java简单课程_Java之从头开始编写简单课程信息管理系统

    编写简单的课程管理系统对于新手并不友好,想要出色的完成并不容易以下是我的一些经验和方法 详情可参考以下链接: 一.相关的软件下载和环境配置 1.下载并配置JDK. 2.下载eclipse. 3.下载并 ...

  9. python写软件实例-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

最新文章

  1. Bash中的逻辑运算
  2. 2019 年 Spread.NET 产品路线图(Roadmap)
  3. IT必须掌握的常用命令
  4. NBA理性分析:30年最强夺冠阵容
  5. VMware16虚拟机怎么共享文件夹?
  6. 如何在Go中找到一个对象的类型?
  7. 中移动酝酿改革数据业务分成模式:SP与CP分开
  8. chrome怎么调用硬件_浏览器发展简史——IE帝国是如何被chrome打败的?
  9. 由先序遍历序列和中序遍历序列恢复二叉树以及统计叶子节点个数和树的深度...
  10. 如何破解WP7并安装xap文件
  11. 如何系统学习SWAT模型—建模方法、实例应用、高级进阶
  12. 关于几种图片格式的压缩
  13. 9针15针VGA接口引脚定义
  14. 【学术分享】40个科研学术网站,收藏必备,予取予求!
  15. web前端入门到实战:行内和块状元素水平居中与单行或多行文本垂直居中及隐性改变display类型
  16. 怎么制作QQ背景音乐链接
  17. Entry name AndroidManifest.xml collided
  18. java实现RabbitMQ消息队列
  19. APP规范实例(详细的UI设计方法)
  20. ubuntu怎么设置系统语言英文_Ubuntu系统设置中文语言的方法教程,Ubuntu系统怎么设置中文语言?...

热门文章

  1. 有关非居民企业就来源于中国境内的所得缴纳企业所得税问题
  2. andrAndroid 权限
  3. Vue 防抖节流 详细介绍(面试常客、去繁从简、性能优化)
  4. 移动互联网-2011 年值得关注的100个应用程序
  5. gpt 语言模型_gpt 3只是另一种语言模型,但更大
  6. 数据分析师如何“述职”?
  7. 正厚知识 | 我们距离头号玩家还有多远
  8. matlab离散与连续系统仿真
  9. poi实现的excel模板数据填充
  10. HR员工管理的三重境界:管事、管人、管心