2014-01-21 2 views
0

Мне дали проект, в котором я должен бросить 3 кости, и подсчитайте количество средних точек и точек всюду по отдельности и введите их, чтобы получить оценку. Я уже сделал эту игру доступной на консоли в NetBeans, но когда дело доходит до меня, пытаясь реализовать ее в графическом интерфейсе, я в тупике. Я полный новичок в создании графического интерфейса и не уверен, как создавать изображения в соответствии с тем, как было свернуто число на штампе. Каждый раз, когда я пытаюсь, либо изображения не будут меняться, если я повторно запустил кубик, или просто у меня возникли проблемы с привязкой графического интерфейса к моему коду. Итак, как мне заставить изображения появляться на 3 панелях в JPanel в соответствии с количеством, которое я прокатил на каждом штампе?3 Случайные изображения в GUI от 6

Вот основная часть кода:


for(i = 0; i < 3; i++){ 
    System.out.println("Enter any number to roll the dice: "); 
    cont = scan.nextInt(); 
    //Rolling 3 dice: 
    dice1 = rollDice(); 
    dice2 = rollDice(); 
    dice3 = rollDice(); 
         .......................... 

В основном я хочу, чтобы показать файлы изображений, которые, например, показывает первый кубик с 1 точкой в ​​нем, если она катится 1 на панели слева, вторая - с 3 в ней на панели посередине, а третья - с 5 на панели справа на JPanel, и она должна изменяться соответствующим образом каждый раз, когда я бросаю кости ,

Я пытался сделать эту работу целую вечность! Помощь будет принята с благодарностью. Пожалуйста, учтите, что я хочу, чтобы это было как можно проще для проекта. Я всего лишь первый студент-информатик, который никогда не делал никакого графического интерфейса в классе (ни ООП).

Заранее благодарен! :)

+2

1) Для лучшей помощи рано, опубликовать [MCVE] (http://stackoverflow.com/help/mcve). 2) Одним из способов получения изображения (ов) для примера является горячая ссылка на изображения, видимые в [этом ответе] (http://stackoverflow.com/a/19209651/418556). –

+0

Спасибо за советы! Новое на этом сайте, поэтому я точно не знал, как спросить. :) – DanShock

ответ

0

Рассмотрим их как мои картины для костей лица:

face1.png, face2.png, face3.png, face4.png, face5.png, face6.png 

Я бы посоветовал, используя JLabel (добавляется к каждой панели), как это «проще», чтобы добавить фон к этому, не выходя в компоненты краски. См. Ниже, добавив в него face1.

JLabel lblDiceFaceOne = new JLabel(); 
ImageIcon diceFace = new ImageIcon("face1.png"); 
lblDiceFaceOne.setIcon(diceFace); 

Таким образом, у вас может быть массив путей к файлам, а затем случайным образом выберите индекс из них.

String[] paths = {"face1.png", "face2.png".....}; 

После того, как у вас есть случайное число от 0 до 5 (то, что вы свернутая с 0, представляющими 1 и 5, представляющими 6), то вы можете установить метку для этой конкретной картины, используя путь строки файла. Сначала снимите метку, как показано ниже.

lblDiceFaceOne.setIcon(null); //clear the previous dice picture 
lblDiceFaceOne.setIcon(new ImageIcon(paths[i])); //use random file path from array 

Это может быть сделано для всех 3-х элементов внутри графического интерфейса пользователя, в котором вы можете иметь случайное число в диапазоне и установите это на выбранный путь к файлу использовать для изображения. Для пояснения «i» представляет собой случайное целое число, которое мы получили между 0 и 5.

Просто идея, которая может работать для вас и относительно проста в реализации.

Если вам нужно использовать JPanels, это может помочь установить его фон.

Simplest way to set image as JPanel background

+0

Это прекрасно!Только то, что мне было нужно. : D Спасибо, очень много! – DanShock

Смежные вопросы