Изучение Java, как печатать текст на холсте? - PullRequest
0 голосов
/ 04 апреля 2010

Я читаю книгу Эрика Робертса - Искусство и наука о Java, и в ней есть упражнение, которое я не могу понять -

Вы должны сделать календарь, с GRect, 7 на 6, который будет в порядке, кодовая часть проста, но также вы должны ввести числа даты на этих прямоугольниках, и это довольно сложно для меня, есть ничего об этом в книге.

Я пытался использовать GLabel, но здесь возникает проблема, что мне нужно работать с этими числами, и он говорит: «не может преобразовать из int в строку и наоборот». GLabel (string, posX, posY) - он не принимает int в качестве параметра, только строку, я даже пытался ввести тип, все еще не работает.

Например, я хочу сделать цикл

int currentDate = 1;

while (currentDate <31) {</p>

add (новый Glabel (currentDate, 100, 100);

CurrentDate ++;

Этот код говорит, что ни один человек не может преобразовать int в строку. Если я пытаюсь изменить currentDate на string, это работает, но у меня возникла проблема с вычислением, поскольку я не могу манипулировать с числом в строке, оно даже не позволяет типизировать его в int.

Как я могу это исправить? Может быть, есть другой класс или метод для ввода текста над этими прямоугольниками?

Я знаю о println, но у него нет координат x или y, поэтому я не могу с ним работать. И я думаю, что это только для консольных программ.

Ответы [ 3 ]

1 голос
/ 04 апреля 2010

Измени свою линию

add(new Glabel(currentDate, 100, 100);

до

add(new Glabel(Integer.toString(currentDate), 100, 100);

toString() - статический метод класса Integer. Вы можете использовать метод для преобразования любого целого числа в строку.

Следует отметить, что если вы объединяете целое число со строкой, метод toString () вызывается автоматически. Так что это еще одно правильное решение:

add(new Glabel("" + currentDate, 100, 100);
1 голос
/ 04 апреля 2010

Простой способ убедиться, что он всегда работает:

int num = 10;
setText(num+"");//setText is any method that needs a string and you have an int
1 голос
/ 04 апреля 2010

Попробуйте преобразовать целое число в строку, используя это

String str = Integer.toString(inputInt);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...