首页 > 其他分享 >F27SB 软件开发

F27SB 软件开发

时间:2023-05-31 09:03:40浏览次数:34  
标签:JFrame layout F27SB 软件开发 will points Calendar your


F27SB Software Development 2
GUI Coursework 1: LayoutManager
Create a digital clock
a) Create the layout for your digital clock. The clock should have the following
layout:
so:
● HH - displays the hours
● MM - displays the minutes
● SS - displays the seconds
● AM/PM - displays whether it is before (AM) or after mid-day (PM).
The hours/minutes/seconds should be displayed in 36 point, italic serif.
(Correct layout: 0.25P,
Class extends JFrame: 0.25P,
Class follows OOP principles: 0.25P,
Global set-up in main method: 0.25P)1
b) Make the clock show the current time. For this you should use the Calendar
class from java.util with:
● Calendar.getInstance() - create Calendar object for current date/time
● get(field) - return integer field from Calendar object, where field may
be Calendar.HOUR, Calendar.MINUTE, Calendar.SECOND,
Calendar.AM_PM, etc.
● the value returned from Calendar.AM_PM may be compared with the values
Calendar.AM and Calendar.PM to determine if it is before or after mid-day
Create a function that runs continuously and updates the display to always show
the current time.
(Clock is updated when programme starts: 0.5P,
Clock is continually updated: 0.5P)
For more information about this class, see:
https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html.
1 Detailed explanation of points at the bottom of the document.
Create a progress meter
a) Many GUI applications have metres that indicate the progress made so far
towards completing an activity代写 F27SBas a percentage of the anticipated total activity.
Write a program to display a progress metre as follows. The metre consists of a
window with a column of 11 labels. The first 10 labels indicate progress steps of
10% and are initially red. The bottom label shows the amount of activity remaining
as a textual percentage, and is initially set to “0%”.
(Correct layout: 0.25P,
Class extends JFrame: 0.25P,
Class follows OOP principles: 0.25P,
Global set-up in main method: 0.25P)2
b) Create functionality to simulate steps of 10% progress. For this the user
repeatedly presses return on the console inside Eclipse (use a Scanner object
for this). Every time, the top-most red label is changed to green and the progress
label value is incremented by 10 until that value is 100%. Make sure that no errors
occur if the user tries to go past 100%.
(Progress is shown when pressing enter: 0.5P,
Program stops reacting when 100% is reached: 0.5P)
Example output:
2 Detailed explanation of points at the bottom of the document.
Marking
In each coursework, you can achieve a total of 4 points. Each question awards different
amounts of points for different parts of the question. Partial completion of a task will
award the partial points listed underneath. Most descriptors of points are self-explanatory
in context of the task. Where further clarification is needed, you can find that below.
Your work will be checked by a lab helper during your assigned lab slot. Once all tasks
are checked, the points will be used to calculate your marks. Please, understand that the
lab helpers are not marking your work but are checking the completion of subtasks. As
part of this check, you will need to explain how you solved the given task. Only
successfully completed sub-tasks will award points.
The marks will be released on Canvas after the marking deadline has passed. This is not
an automatic process so please, be patient. Once the marks are released, you will be
notified via Canvas. Please, make sure to check your marks as soon as possible. If
there are any issues, please contact your teaching team immediately.
Collusion and Plagiarism
As mentioned above, you will need to explain your work during the demo session in the
lab. If you are not able to explain how you arrived at the solution to the task, we need to
assume that you did not do the work yourself. We do, however, know that you might be
anxious or nervous during the session. Please, rest assured that this is not an
interrogation and you can take all the time you need to explain your solution.
If there is reasonable doubt that you solved the given problems yourself, you will not get
any points for this task. If there are concrete indications that you copied your answer or
colluded with other students, we might also start an official investigation.
Please, make sure to fill and sign the Declaration of Student Authorship form for
each coursework and upload it to Canvas. If you do not upload the form, we will not
be able to give you any marks for this coursework.
If you feel unjustly accused of plagiarism or collusion, please contact your teaching team.
Coursework submission
Unless stated otherwise, all code parts of your work need to be committed and pushed to
your GitLab fork. You need to upload the Declaration of Student Authorship to Canvas,
and you need to present your solution to a lab helper. If you fail to do any one of these
steps, you will not be awarded any marks.
The deadline for submission can be seen on Canvas. You will need to present your
work to a lab helper any time before the deadline during your allocated lab slot. If
you do not manage to present your work before the deadline, you can do so at the first
lab after the deadline but will incur a 30% late penalty. If this late submission was caused
by issues out with your control, you can apply for mitigating circumstances to have this
late penalty removed.
If you also fail to present your work at the lab following the deadline, we will not be able to
give you any marks for your work. Similarly, if this was caused by circumstances out with
your control, you should apply for Mitigating Circumstances.
Please, note that we are not allowed to give individual extensions. If you cannot
submit your work on time, you will need to apply for Mitigating Circumstances.
Explanation of Points
Correct layout: Where an image or text explanation of the layout is given, points are
awarded for exactly achieving the required layout. You are free to choose a different
layout that you find more appealing as long as all the same components are used. This
means you might want to choose a different layout manager or different positioning but
you should still make sure to have the same amount of labels, panels, buttons, etc. If an
example of a layout is given, you are required to match this layout as closely as possible.
Class extends JFrame: The class that declares and initialises all the GUI components
should be a subclass of JFrame and correctly use the methods and variables provided by
its super class to achieve the desired layout.
Wrong Wrong Right
public static void main() {
JFrame f = new JFrame();
f.add(new JLabel());

public class A {
public A() {
JFrame f = new JFrame();
f.add(new JLabel());

public class A extends JFrame {
public A() {
add(new JLabel());

Class follows OOP principles: You should endeavour to reduce coupling and increase
cohesion in your code. That means you should check that every class is responsible for
its own components and data and that you do not provide unnecessary public variables or
methods. Always think about how someone else could use your class in a different
project. Refer to all the guidance given in the first half of the course and make sure to
highlight this to the lab helper when explaining.
Global set-up in main method: When you think about someone using your code in their
larger GUI, do you think they are happy that the name, size, position, and visibility is
defined inside the class where it cannot easily be changed? Make sure to only define
these things in the main method where you create a new instance of your class as we do
in the lectures.

 WX:codehelp

标签:JFrame,layout,F27SB,软件开发,will,points,Calendar,your
From: https://www.cnblogs.com/simpleyfc/p/17445023.html

相关文章

  • 电动汽车初创公司如何降低软件开发成本和风险
    前言  大多数原始设备制造商不会从电动汽车(EV)的销售中获利,但计划快速进入市场的电动汽车初创公司不必遭受同样的损失。 随着电池价格飙升、零部件成本高昂和销量低迷,电动汽车初创公司的盈利能力逐渐下降,必须将软件开发视为提高预算、进度和工作水平的一种方式。了解电动......
  • 软件开发全部文档下载(超过三百份)
    写在前面软件开发过程中,会涉及到和产生大量的配套文档,例如项目启动阶段、项目调研阶段、项目开发阶段、项目验收维护阶段等,有开发类型的文档,还有管理类型的文档,还有报告类型的文档。针对软件过程中所有阶段的文档我这次做了一个整理,总计超过三百份。获取方式q:262086839。具体......
  • 软件开发流程
    软件开发流程/生命周期软件生命周期软件定义(需求讨论确定、原型效果图制作)、开发实施、测试与bug修复、上线、服务与更新、停服。以我当前的经验或者认知,软件服务公司给别人做产品的具体流程大致应该是这这样的:需求分析阶段(第一版功能、不可缺少的必要功能)。//沟通,与确定。......
  • 软件开发与创新——原型设计工具介绍
    这周软件开发与创新的实验课上老师向我们初步介绍了软件开发的原型设计工具,经过查询相关资料,我了解到软件开发原型设计工具在开发过程中起着重要的作用。以下是几个主要作用:界面设计和布局:原型设计工具允许开发人员创建应用程序的用户界面,包括页面布局、组件和元素的放置等。它......
  • 人件集 人性化的软件开发阅读笔记03
    《人件集人性化的软件开发》第三部分工作组织第八章:团队的目标和规划这一章主要讲述如何制定合理的团队目标和规划,以及如何实现这些目标和规划。作者提出,确定特定的、可衡量的目标,并建立一个可靠的评估机制,以便团队能够不断改进和实现更好的效果。我认为这一章非常实用,对于团......
  • 人件集 人性化的软件开发阅读笔记02
    《人件集人性化的软件开发》第二部分男牛仔与女牛仔第五章:男牛仔和女牛仔的婚姻作者将男牛仔和女牛仔比作婚姻中的男女双方,提出男牛仔和女牛仔之间的沟通和协作非常关键,就像婚姻中的双方需要相互理解和沟通一样。在软件开发中,男牛仔和女牛仔的差异会导致很多沟通和协作的问题,......
  • 三分钟挖掘快速软件开发框架提高办公效率的秘诀
    在科技日新月异的当今社会,学会利用快速软件开发框架,可以给企业带来更大的便利和市场价值。因为它拥有可视化设计、灵活简便、易操作、易上手等优势特点,在助推企业实现数字化转型的过程中有着举足轻重的作用。那么,快速软件开发框架是如何帮助企业提质增效的?又拥有哪些特点?今天,一文......
  • 直播软件开发,Android实现根据进程名杀死特定进程
    直播软件开发,Android实现根据进程名杀死特定进程首先你实现功能的进程必须是系统进程,在AndroidManifest里面加入如下标签。 android:sharedUserId="android.uid.system"​调用ActivityManager的forceStopPackageAsUser方法 ActivityManagermActivityManager=(Activity......
  • 人件集 人性化的软件开发阅读笔记01
    《人件集:人性化的软件开发》第一部分团队开发第一章决策,决策讲述了中庸的风险以及轻度领导研究表明,集体的决策比从集体中的个体独立做选择更具有风险倾向。如果将这种决策模式应用于软件编程,我们可能会看到这样的结果:团队可能使用更奇特的数据结构、更古怪的算法或者更......
  • 软件工程方法论对我们经软件开发有多大用处
    首先,我认为软件工程方法论对我们软件开发用处极大。软件工程工程方法论有四种,即瀑布模型、迭代式开发、螺旋开发和敏捷开发。1.瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型,瀑布式开发是一种老旧的计算机软件开发方法。瀑布模型式是最典型的预见性的方法,严格遵循预先计......