Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2019, 20:43   #1
AnnLikki
 
Регистрация: 19.12.2018
Сообщений: 3
Печаль Java, кнопки не появляются в окошке

У меня код про кроликов, не вникайте. Там кнопочки под опр. номером, т. е. массив. почему-то кнопки не появляются, хотя в консоль выводится и ошибок нет Т_Т

Код:
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;

public class game_ai {

		public static void main(String[] args) {
			myFrame okno = new myFrame();
	
		     // int random_number1 = a + (int) (Math.random() * b);
				
		}}
	class myFrame extends JFrame 
	{
		public myFrame() 
		{
			myPanel pan = new myPanel(); 
			Container cont = getContentPane(); 
			cont.add(pan); 
			
			//setIconImage(Toolkit.getDefaultToolkit().getImage(game_ai.class.getResource("/ICON.png")));
			setTitle("NAME"); 
			setBounds(90, 20, 800, 650);
			setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			setResizable(false); 
			setVisible(true); 
		}	}
	
	class myPanel extends JPanel
	{ 
		//Ща всо будет
		
		//максимальное количество кролей - 20, значит да будет массив кролей
		rabbit[] rabbit = new rabbit[20];//здеся будет инфа о кроликах, типо пола, веса и тд
		//у кроликов будет номер, он не зависит от ячейки в массиве
		
		//также нужно создати тело кролей, ето будет кнопошка
		//шобы не писати имя, сделаем массив кнопошек, каждая будет привязана к ячейке (нет)
		JButton[] rbutton = new JButton[20];
		
		//да, это она. она равна нулю, потому што ява Т_Т
		int nm = 0;
		//счётчик (тот самый)
		int ct = 1; //каунтер начинается с единицы потому што он не связан с массивами
		
		public void spawnr() { //Спавн кроликов ё пэ рэ сэ тэ
			//шо мы должны сделати шобы заспавнить кроля? 
			//свободную ячейку заполнить данными о кроле и его кнопошке
			//нам нужна переменная с номером ячейки? я думаю, да
			//сверху добавлена переменная nm, номер массива
			
			//создаём кролика
			rabbit[nm] = new rabbit();
			rabbit[nm].mass = 1; //сейчас пока не будем делати рандом, нафег надо
			rabbit[nm].max_speed = 1;
			rabbit[nm].age = 0;
			rabbit[nm].num = ct;//здеся нужна доп. переменная счётчик чтобы считала номера все (смотри на верх)
			
			//выбираем пол
			//а вот тута рандом нада, патамушто анти-девки тоже имеют право на жызнб
			Random rand = new Random();//делоим рандом
			rabbit[nm].male = rand.nextBoolean();//присваиваим рандом
			if (rabbit[nm].male == true)//если зояц - анти-девка 
			{rabbit[nm].sex = "m";} //то ставим пол м, тобиш мужской
			else {rabbit[nm].sex="f";} //а иначе, зояц - девка и пол у неё ф, то биш фантастик
			
			//теперя надо создавати кнопошку под тем же номером
			rbutton[nm] = new JButton();//присвоим ей всякие кнопочные штуки
			rbutton[nm].setBounds(100+(nm+1)/*плюс адин патамушта самая первая нм равна 0*/*30, 300 /*отс... ну вы поняли*/, 20, 20); //позицию кроля делоим
			
			//шобы текстурки сделати, нужно проверить, кроль девка или нет
			if(rabbit[nm].male == true) { //проверка на анти-девковость
				try { //пытаемся достати текстурку
				rbutton[nm].setIcon(new ImageIcon(game_ai.class.getResource("/rm.png")));
				rbutton[nm].setContentAreaFilled(false);}
				catch (Exception e) { //не полушется? ну значит делоем голубым
					rbutton[nm].setBackground(Color.CYAN);}
				}
			else {//иначи если кроль девка
				try {//тоже самое, но девкавая тектура
					rbutton[nm].setIcon(new ImageIcon(game_ai.class.getResource("/rf.png")));
					rbutton[nm].setContentAreaFilled(false);}
				catch (Exception e) { //делоим розовым
					rbutton[nm].setBackground(Color.PINK);}
				}
			
			rbutton[nm].setBorder(null);//ставим кнопочке прозрачные края
			add(rbutton[nm]);//добавляем кнопочку в окошко
			
			System.out.println("Кролик №"+(ct)+" вес - "+rabbit[nm].mass+", скорость - "+rabbit[nm].max_speed+" "+rabbit[nm].sex+". "); //выводим в консольку по красоте штобы было
			
			//кроли будут двигаться? в будущем - да. нам нужен таймер? не знаю
			//таймер возраста тоже нужен, чтобы кролики умерали. но куда его добавлять - не знаю
			//ещё надо сделать проверку на количество кроликов
			
			ct++;//каунтер увеличивается чтобы нада
			nm++;//номер массива тоже увеличивается, потомучто нада
			
			//щща проверим кролей на вич (шутка не бейте)
			if (nm==20) {//если номер массива = 20, т.е. последняя ячейка
				nm=0;//возвращаем в первую
			}
		}
///
		public myPanel() 
		{
			
			JButton rb_spawn = new JButton("Создать кроля");
			rb_spawn.setBounds(40, 50, 230, 30);
			rb_spawn.addActionListener(new ActionListener() { 
					public void actionPerformed(ActionEvent arg0) {
						 spawnr(); //ета кнопошка отвеччает за спавн кролей
					}});
			
			add(rb_spawn);
			
		setLayout(null); 
		}
	
	class rabbit
	{
		int mass;
		int max_speed;
		boolean male;
		int age;
		String sex;
		boolean alive = true;
		int num;
	}}
AnnLikki вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java Не отображаются кнопки teacher future Общие вопросы по Java, Java SE, Kotlin 0 14.03.2018 11:32
XE3. Код компилируется, но в окошке Structure ошибки garuna Общие вопросы Delphi 7 04.02.2016 13:59
JavaFX - Создание матрицы в окошке Alexandr- Помощь студентам 0 14.06.2015 18:31
Создание кнопки (Java) ShustrbIy Помощь студентам 0 13.12.2013 22:23
нужен компилятор, работающий под ДОС (в синем окошке) на виндоус 7 pa6kevi4 Помощь студентам 3 23.03.2010 00:59