GUI- nefunkční tlačítka – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

GUI- nefunkční tlačítka – Java – Fórum – Programujte.comGUI- nefunkční tlačítka – Java – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
GunSpawn0
Newbie
14. 12. 2013   #1
-
0
-

Dobrý den

potřebuji poradit jak napsat aby po stisknutí tlačítek Start běžela Hra

Tady je kód okna 

package thecode;

import javax.swing.*;

import java.awt.*;

public class GameWindow {

	public static void main(String[] args) {
		Okno okno = new Okno();		
	}

}
  class Okno extends JFrame
  {
	public Okno()
	{
		super ("Nim-The Game");
		setSize(800 , 200);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
		Container kontej = getContentPane();
		GridBagLayout srg = new GridBagLayout();
		GridBagConstraints gbc = new GridBagConstraints();
		kontej.setLayout (srg);
		JButton tl1 = new JButton("Start");
		gbc.gridx = 1;
		gbc.gridy = 0;
		kontej.add(tl1, gbc);
		JButton tl2 = new JButton("Návod");
		gbc.gridx = 1;
		gbc.gridy = 1;
		kontej.add(tl2, gbc);
		setContentPane(kontej);
		
	}
	
  }


A tady kód hry

package thecode;

import java.util.Scanner;

public class Game
{
	static Scanner vstupUzivatele1 = new Scanner (System.in);
    static Scanner vstupUzivatele2 = new Scanner (System.in);
    static Scanner vstupUzivatele3 = new Scanner (System.in);
    static boolean kdoZacne = true;
    static int pocetSirek = 0;
    static int odecteneSirky = 1;
   
  public static void main(String[] args) 
  {
	  System.out.print("S kolika sirkami chcete hrát (10+): ");
	    pocetSirek = vstupUzivatele1.nextInt();	   
	    if (pocetSirek > 9) 
	      System.out.print("Chcete hrát jako první(true or false)?");
	      kdoZacne = vstupUzivatele2.nextBoolean();
	      System.out.println("Hra začíná");
	      kdo();
  }   
	public static void kdo()
	{
	    if (kdoZacne == true)
	    	Hrac.hrac();
	    else
	    	PC.pc();
    }
	
	

  static class Hrac extends Game
  {
    public static void hrac()
    {
         System.out.print("Kolik odeberete sirek:");
         odecteneSirky = vstupUzivatele3.nextInt();
         if (odecteneSirky > 3)
         {
        	 System.out.println("Nelze");
        	 odecteneSirky = 0;
        	 System.out.print("Kolik odeberete sirek:");
             odecteneSirky = vstupUzivatele3.nextInt();
         }
    	 pocetSirek = pocetSirek - odecteneSirky;
    	 if (pocetSirek < 0) 
    	 {
    		 System.out.println("Nelze");
    	 }
         System.out.println("Zbývá " + pocetSirek);
         kdoZacne = false;
       if (pocetSirek == 0)
       {
         System.out.println("Vyhrál jste");
    	   PC.konec();
       }
       Game.kdo();
    }
  }
    

static class PC extends Game
{
 public static void pc()
 {
	 odecteneSirky = pocetSirek % 4;
	   	while (odecteneSirky == 0) 
	    	{
	    		odecteneSirky = 1;
	    	}	
	    		pocetSirek = pocetSirek - odecteneSirky;
	      System.out.println("Počítač odebral " + odecteneSirky);
	      System.out.println("Zbývá " + pocetSirek);
	      kdoZacne = true;
	        if (pocetSirek == 0)
	        {
	        	System.out.println("Vyhrál PC");
	            PC.konec();
	        }
	     Game.kdo();
 }
 public static void konec()
	{
		System.out.println("Konec hry.");
		System.exit(0);
	}
}   
}


Nahlásit jako SPAM
IP: 84.244.117.–
Dobrá firma nebude bazírovat na tom, jakou máš školu nebo kurz, ale na tom, co umíš a co jsi schopen firmě přinést... Michal Štěpánek
Matrix17
~ Anonymní uživatel
300 příspěvků
14. 12. 2013   #2
-
+1
-
Zajímavé

Musíš tomu tlačítku přiřadit listener. Tj. udělat něco jako tohle:

JButton tlacitko = new JButton();

tlacitko.addActionListener(new ActionListener()
  {
    @Override
    public void actionPerformed(ActionEvent e)
    {
      // TODO akce, ktera se ma udelat
    }
  });
Nahlásit jako SPAM
IP: 213.226.237.–
GunSpawn0
Newbie
15. 12. 2013   #3
-
0
-

#2 Matrix17
Pořád to nefunguje, žádná reakce

Nahlásit jako SPAM
IP: 84.244.117.–
Dobrá firma nebude bazírovat na tom, jakou máš školu nebo kurz, ale na tom, co umíš a co jsi schopen firmě přinést... Michal Štěpánek
NotBeginner
~ Anonymní uživatel
185 příspěvků
16. 12. 2013   #4
-
0
-

Ukaž jak jsi to zapracoval. Matrix17 si napsal vzorové schéma listeneru přes anonymní třídu a je správné. Takže jsi to nějak špatně zapracoval.

Nahlásit jako SPAM
IP: 217.112.161.–
GunSpawn0
Newbie
16. 12. 2013   #5
-
0
-

#4 NotBeginner
já to pošlu až budu doma, ve škole to nemám

Nahlásit jako SPAM
IP: 90.182.20.–
Dobrá firma nebude bazírovat na tom, jakou máš školu nebo kurz, ale na tom, co umíš a co jsi schopen firmě přinést... Michal Štěpánek
GunSpawn0
Newbie
16. 12. 2013   #6
-
0
-

Já jsem si uvědomil že jsem to špatně pochopil ten kód proto mi to nejde. Už to jede. Díky všem.

Nahlásit jako SPAM
IP: 84.244.117.–
Dobrá firma nebude bazírovat na tom, jakou máš školu nebo kurz, ale na tom, co umíš a co jsi schopen firmě přinést... Michal Štěpánek
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 51 hostů

Podobná vlákna

Nefunkční tlačítka — založil romanpesek

Tlacitka — založil dragon124

Tlačítka — založil Muňka

Nefunkční v IE — založil psenik

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý