JFrame仅显示最后一步

时间:2019-11-30 13:13:37

标签: java user-interface

运行代码后,最后仅显示messageDialogs。如何使我的JFrame显示while(el <3)和while(el> = 3)的步骤? read.sleep()不起作用只会延迟程序,仅在最后再次显示messageDialog。还需要注意的是,在这种情况下,当我删除诸如while(el> = 3)之类的最后一步时,它表明新的最后一步非常好。

public class BilgisayarvsBilgisayar extends JFrame {

/**
 * 
 */
private static final long serialVersionUID = 1L;
private JPanel contentPane;
int el = 0;
private JTextField textField_bil1Skor;
private JTextField textField_bil2Skor;

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                BilgisayarvsBilgisayar frame = new BilgisayarvsBilgisayar();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });     

}

/**
 * Create the frame.
 */
public BilgisayarvsBilgisayar() {   

    BilgisayarOyuncusu bilgisayar1 = new BilgisayarOyuncusu(3,"bilgisayar1",0);
    BilgisayarOyuncusu bilgisayar2 = new BilgisayarOyuncusu(4,"bilgisayar2",0);

    Stack<Pokemon> stack = new Stack<Pokemon>();
    ArrayList<Integer> bilgisayarElde1 = new ArrayList<Integer>();
    ArrayList<Integer> bilgisayarElde2 = new ArrayList<Integer>();

    Pikachu pikachu = new Pikachu("pikachu", "elektrik");
    Bulbasaur bulbasaur = new Bulbasaur("bulbasaur", "cim");
    Charmander charmander = new Charmander("charmander", "ates");
    Squirtle squirtle = new Squirtle("squirtle","su");
    Zubat zubat = new Zubat("zubat","hava");
    Psyduck psyduck = new Psyduck("psyduck", "su");
    Snorlax snorlax = new Snorlax("snorlax","normal");
    Butterfree butterfree = new Butterfree("butterfree", "hava");
    Jigglypuff jigglypuff = new Jigglypuff("jigglypuff","ses");
    Meowth meowth = new Meowth("meowth", "normal");

    stack.push(pikachu);
    stack.push(bulbasaur);
    stack.push(charmander);
    stack.push(squirtle);
    stack.push(zubat);
    stack.push(psyduck);
    stack.push(snorlax);
    stack.push(butterfree);
    stack.push(jigglypuff);
    stack.push(meowth);

    Collections.shuffle(stack);

    for(int i = 0; i<3; i++) {
        bilgisayar1.kartListesi.add(stack.pop());
        bilgisayarElde1.add(i);
    }       
    for(int i = 0; i<3; i++) {
        bilgisayar2.kartListesi.add(stack.pop());
        bilgisayarElde2.add(i);
    }

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 800, 600);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);

     JLabel lblNewLabel = new JLabel("");
     JLabel lblNewLabel_1 = new JLabel("");
     JLabel lblNewLabel_2 = new JLabel("");
     JLabel lblNewLabel_3 = new JLabel("");
     JLabel lblNewLabel_4 = new JLabel("");
     JLabel lblNewLabel_5 = new JLabel("");
     JLabel lblNewLabel_6 = new JLabel("");
     JLabel lblNewLabel_7 = new JLabel("");
     JLabel lblNewLabel_8 = new JLabel("");
     JLabel lblNewLabel_9 = new JLabel("");

    textField_bil1Skor = new JTextField();
    textField_bil2Skor = new JTextField();


    String path = "/"+bilgisayar1.kartListesi.get(0).getPokemonAdi()+".png";
    Image img = new ImageIcon(this.getClass().getResource(path)).getImage();
    contentPane.setLayout(null);
    lblNewLabel.setIcon(new ImageIcon(img));
    lblNewLabel.setBounds(40, 43, 80, 100);
    contentPane.add(lblNewLabel);


    String path1 = "/"+bilgisayar1.kartListesi.get(1).getPokemonAdi()+".png";
    Image img1 = new ImageIcon(this.getClass().getResource(path1)).getImage();
    lblNewLabel_1.setIcon(new ImageIcon(img1));
    lblNewLabel_1.setBounds(140, 43, 80, 100);
    contentPane.add(lblNewLabel_1); 


    String path2 = "/"+bilgisayar1.kartListesi.get(2).getPokemonAdi()+".png";
    Image img2 = new ImageIcon(this.getClass().getResource(path2)).getImage();
    lblNewLabel_2.setIcon(new ImageIcon(img2));
    lblNewLabel_2.setBounds(240, 43, 80, 100);
    contentPane.add(lblNewLabel_2); 


    String path5 = "/"+bilgisayar2.kartListesi.get(0).getPokemonAdi()+".png";
    Image img5 = new ImageIcon(this.getClass().getResource(path5)).getImage();
    lblNewLabel_5.setIcon(new ImageIcon(img5));
    lblNewLabel_5.setBounds(40, 400, 80, 100);
    contentPane.add(lblNewLabel_5); 


    String path6 = "/"+bilgisayar2.kartListesi.get(1).getPokemonAdi()+".png";
    Image img6 = new ImageIcon(this.getClass().getResource(path6)).getImage();
    lblNewLabel_6.setIcon(new ImageIcon(img6));
    lblNewLabel_6.setBounds(140, 400, 80, 100);
    contentPane.add(lblNewLabel_6); 


    String path7 = "/"+bilgisayar2.kartListesi.get(2).getPokemonAdi()+".png";
    Image img7 = new ImageIcon(this.getClass().getResource(path7)).getImage();
    lblNewLabel_7.setIcon(new ImageIcon(img7));
    lblNewLabel_7.setBounds(240, 400, 80, 100);
    contentPane.add(lblNewLabel_7);

    lblNewLabel_3.setBounds(340, 43, 80, 100);
    contentPane.add(lblNewLabel_3); 
    lblNewLabel_3.setVisible(false);


    lblNewLabel_4.setBounds(440, 43, 80, 100);
    contentPane.add(lblNewLabel_4); 
    lblNewLabel_4.setVisible(false);


    lblNewLabel_8.setBounds(340, 400, 80, 100);
    contentPane.add(lblNewLabel_8);
    lblNewLabel_8.setVisible(false);


    lblNewLabel_9.setBounds(440, 400, 80, 100);
    contentPane.add(lblNewLabel_9);
    lblNewLabel_9.setVisible(false);

    textField_bil1Skor = new JTextField();
    textField_bil1Skor.setBounds(613, 83, 90, 30);
    textField_bil1Skor.setFont(new Font("Tahoma", Font.PLAIN, 12));
    textField_bil1Skor.setHorizontalAlignment(SwingConstants.CENTER);
    contentPane.add(textField_bil1Skor);
    textField_bil1Skor.setColumns(10);
    textField_bil1Skor.setText(Integer.toString(bilgisayar1.getSkor()));

    textField_bil2Skor = new JTextField();
    textField_bil2Skor.setBounds(613, 440, 90, 30);
    textField_bil2Skor.setFont(new Font("Tahoma", Font.PLAIN, 12));
    textField_bil2Skor.setHorizontalAlignment(SwingConstants.CENTER);
    contentPane.add(textField_bil2Skor);
    textField_bil2Skor.setColumns(10);
    textField_bil2Skor.setText(Integer.toString(bilgisayar2.getSkor()));

        while(el<3) {
            int sec1 = bilgisayar1.kartSec(bilgisayarElde1);
            while(bilgisayar1.kartListesi.get(sec1).getkartKullanildiMi() != false) {
                sec1 = bilgisayar1.kartSec(bilgisayarElde1);
            }
            bilgisayar1.kartListesi.get(sec1).setkartKullanildiMi(true);
            if(sec1 == 0) {
                lblNewLabel.setVisible(false);
            }else if(sec1 == 1 ) {
                lblNewLabel_1.setVisible(false);
            }else if(sec1 == 2) {
                lblNewLabel_2.setVisible(false);
            }

            int sec2 = bilgisayar2.kartSec(bilgisayarElde2);
            while(bilgisayar2.kartListesi.get(sec2).getkartKullanildiMi() != false) {
                sec2 = bilgisayar2.kartSec(bilgisayarElde2);
            }
            bilgisayar2.kartListesi.get(sec2).setkartKullanildiMi(true);

            if(sec2 == 0) {
                lblNewLabel_5.setVisible(false);
            }else if(sec2 == 1 ) {
                lblNewLabel_6.setVisible(false);
            }else if(sec2 == 2) {
                lblNewLabel_7.setVisible(false);
            }

            if(bilgisayar1.kartListesi.get(sec1).getHasarPuani() > bilgisayar2.kartListesi.get(sec2).getHasarPuani()) {
                bilgisayar1.setSkor(bilgisayar1.getSkor()+5);
                textField_bil1Skor.setText(Integer.toString(bilgisayar1.getSkor()));
                textField_bil2Skor.setText(Integer.toString(bilgisayar2.getSkor()));
            }else if(bilgisayar1.kartListesi.get(sec1).getHasarPuani() == bilgisayar2.kartListesi.get(sec2).getHasarPuani()) {
                bilgisayar1.setSkor(bilgisayar1.getSkor());
                bilgisayar2.setSkor(bilgisayar2.getSkor());
                textField_bil1Skor.setText(Integer.toString(bilgisayar1.getSkor()));
                textField_bil2Skor.setText(Integer.toString(bilgisayar2.getSkor()));
            }else {
                bilgisayar2.setSkor(bilgisayar2.getSkor()+5);
                textField_bil1Skor.setText(Integer.toString(bilgisayar1.getSkor()));
                textField_bil2Skor.setText(Integer.toString(bilgisayar2.getSkor()));
            }
            el++;       
        }

    if(el == 3) {
        for(int i = 0; i<2; i++) {
            bilgisayar1.kartListesi.add(stack.pop());
            bilgisayarElde1.add(i+3);
        }       
        for(int i = 0; i<2; i++) {
            bilgisayar2.kartListesi.add(stack.pop());
            bilgisayarElde2.add(i+3);
        }
        String path3 = "/"+bilgisayar1.kartListesi.get(3).getPokemonAdi()+".png";
        Image img3 = new ImageIcon(this.getClass().getResource(path3)).getImage();
        lblNewLabel_3.setIcon(new ImageIcon(img3));
        lblNewLabel_3.setVisible(true);

        String path4 = "/"+bilgisayar1.kartListesi.get(4).getPokemonAdi()+".png";
        Image img4 = new ImageIcon(this.getClass().getResource(path4)).getImage();
        lblNewLabel_4.setIcon(new ImageIcon(img4));
        lblNewLabel_4.setVisible(true);

        String path8 = "/"+bilgisayar2.kartListesi.get(3).getPokemonAdi()+".png";
        Image img8 = new ImageIcon(this.getClass().getResource(path8)).getImage();
        lblNewLabel_8.setIcon(new ImageIcon(img8));
        lblNewLabel_8.setVisible(true);

        String path9 = "/"+bilgisayar2.kartListesi.get(4).getPokemonAdi()+".png";
        Image img9 = new ImageIcon(this.getClass().getResource(path9)).getImage();
        lblNewLabel_9.setIcon(new ImageIcon(img9));
        lblNewLabel_9.setVisible(true);
    }

        while(el >= 3){
            int sec1 = bilgisayar1.kartSec(bilgisayarElde1);
            while(bilgisayar1.kartListesi.get(sec1).getkartKullanildiMi() != false) {
                sec1 = bilgisayar1.kartSec(bilgisayarElde1);
            }
            bilgisayar1.kartListesi.get(sec1).setkartKullanildiMi(true);
            if(sec1 == 3) {
                lblNewLabel_3.setVisible(false);
            }else if(sec1 == 4) {
                lblNewLabel_4.setVisible(false);
            }

            int sec2 = bilgisayar2.kartSec(bilgisayarElde2);
            while(bilgisayar2.kartListesi.get(sec2).getkartKullanildiMi() != false) {
                sec2 = bilgisayar2.kartSec(bilgisayarElde2);
            }
            bilgisayar2.kartListesi.get(sec1).setkartKullanildiMi(true);
            if(sec1 == 3) {
                lblNewLabel_8.setVisible(false);
            }else if(sec1 == 4) {
                lblNewLabel_9.setVisible(false);
            }

            if(bilgisayar1.kartListesi.get(sec1).getHasarPuani() > bilgisayar2.kartListesi.get(sec2).getHasarPuani()) {
                bilgisayar1.setSkor(bilgisayar1.getSkor()+5);
                textField_bil1Skor.setText(Integer.toString(bilgisayar1.getSkor()));
                textField_bil2Skor.setText(Integer.toString(bilgisayar2.getSkor()));
            }else if(bilgisayar1.kartListesi.get(sec1).getHasarPuani() == bilgisayar2.kartListesi.get(sec2).getHasarPuani()) {
                bilgisayar1.setSkor(bilgisayar1.getSkor());
                bilgisayar2.setSkor(bilgisayar2.getSkor());
                textField_bil1Skor.setText(Integer.toString(bilgisayar1.getSkor()));
                textField_bil2Skor.setText(Integer.toString(bilgisayar2.getSkor()));
            }else {
                bilgisayar2.setSkor(bilgisayar2.getSkor()+5);
                textField_bil1Skor.setText(Integer.toString(bilgisayar1.getSkor()));
                textField_bil2Skor.setText(Integer.toString(bilgisayar2.getSkor()));
            }
            el++;

            if(el == 5) {
                if(bilgisayar1.getSkor() > bilgisayar2.getSkor()) {
                    JOptionPane.showMessageDialog(null, "Bilgisayar1 kazandi.");
                }else if(bilgisayar1.getSkor() == bilgisayar2.getSkor()) {
                    JOptionPane.showMessageDialog(null, "Berabere.");
                }else {
                    JOptionPane.showMessageDialog(null, "Bilgisayar2 kazandi.");
                }
                System.exit(0);
            }
        }

    }   
}

0 个答案:

没有答案
相关问题