Я сделать цифровые часы для проекта и у меня есть четыре класса: DigitalTimeUI
, что является JFrame класс, TitlePanel
, DigitPanel
и ColonPanel
, которые JPanels для элемента указано. Когда она будет закончена, она должна выглядеть следующим образом:Создание цифровых часов в Java
Та часть я застрял на это добавление DigitPanel
S к раме в классе UI. Вот что у меня есть в главном классе прямо сейчас:
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 или whatnot.
Чтобы уточнить: Вышеуказанная фотография была предоставлена мне инструктором в качестве ориентира, который можно использовать при форматировании моих часов. В нем также имеется 9 панелей. «ЦИФРОВОЕ ВРЕМЯ» представляет собой панель класса TitlePanel
. Ящики с цифрами относятся к классу DigitPanel
и их 6. Коробки с двоеточиями имеют класс ColonPanel
и их два. Проблема, с которой я столкнулась, состоит в том, чтобы разделить время на 6 разных ящиков. Например, когда изображение показывает «48», мне нужен способ принять значение от GregorianCalendar.MINUTE
или что угодно и разбить его на 4 и 8, чтобы поместить в каждый из этих ящиков. Благодарю.
Каков ваш вопрос? – beny23
Возможно, вы захотите использовать несколько панелей, чтобы вы могли вставлять макеты, чтобы получить правильный внешний вид вашего пользовательского интерфейса. –
@ beny23 Мой вопрос в том, как я могу разделить время на 6 панелей с помощью 'GregorianCalendar' – 2013-03-11 15:47:14