Создание цифровых часов на Java
Я делаю цифровые часы для проекта, и у меня есть четыре класса:DigitalTimeUI
, который является классом JFrame,TitlePanel
DigitPanel
, а такжеColonPanel
, которые являются JPanels для указанного пункта. Когда это закончено, это должно выглядеть так:
Часть, на которой я застрял - это добавлениеDigitPanel
с фреймом в классе пользовательского интерфейса. Вот'Что у меня есть в основном классе прямо сейчас:
public class DigitalTimeUI extends JFrame {
public static GregorianCalendar currentDate;
final static int CLOCKWIDTH = 605;
final static int CLOCKHEIGHT = 200;
public static void main(String[] args) {
int numOfDigits = 6;
int startingX = 0;
int startingY = 0;
Font clockFont = new Font("Tahoma", Font.BOLD, 72);
JFrame clock = new JFrame();
clock.setSize(CLOCKWIDTH, CLOCKHEIGHT);
clock.setVisible(true);
clock.setResizable(false);
clock.setDefaultCloseOperation(EXIT_ON_CLOSE);
TitlePanel titlePanel = new TitlePanel();
JLabel title = new JLabel("DIGITAL CLOCK");
title.setFont(clockFont);
title.setForeground(Color.BLACK);
titlePanel.add(title);
clock.add(titlePanel);
DigitPanel digitPanel = new DigitPanel();
JLabel digit;
startingY = 115;
while (numOfDigits > 0) {
if ((numOfDigits % 2) == 0) {
startingX += 5;
digit = new JLabel(String.valueOf(0));
}
}
}
}
Код сейчас немного беспорядок, яУ меня все еще есть кое-что сделать после того, как я разберусь с последней частью. Эта нижняя часть - просто часть моих попыток отобразить 6-значные поля. Я думаю, что главная проблема, которую яу меня есть способ разделить время, возвращенное изGregorianCalendar
и поместите их в 6 различных блоков, а затем эффективный способ поместить их в кадр, используя цикл while или еще много чего.
Чтобы уточнить: Приведенное выше изображение было дано мне инструктором в качестве ориентира при форматировании моих часов. Он также имеет 9 панелей. "ЦИФРОВОЕ ВРЕМЯ " это панель изTitlePanel
учебный класс. Цифровые поля имеютDigitPanel
класс и их 6 Коробки двоеточия имеютColonPanel
класс и их два. У меня возникла проблема с разделением времени на 6 разных блоков. Мол, где на картинке видно48"Мне нужен способ взять значение изGregorianCalendar.MINUTE
или что-то еще и разделить его на 4 и 8, чтобы положить в каждую из этих коробок. Благодарю.