Wątek przeniesiony 2016-03-14 12:25 z Java przez bogdans.

Gui nowe okno

0

Witam. Potrzebuję zrobić nowe okno, które ustawiałoby mi imiona dla dwóch graczy - po przyciśnięciu przycisku "Nowa gra" powinien pojawić się panel, w którym będę mógł to zrobić. Póki co umiem to ustawić tylko w głównym oknie.

Chodzi o wyświetlenie takiego kodu w osobnym oknie:

 lWyswietlGracz1 = new JLabel ("Gracz1: ");
            lWyswietlGracz1.setBounds(30,80,100,20);
            add(lWyswietlGracz1);

            tGracz1 = new JTextField();
            tGracz1.setBounds(80,80,130,20);
            add(tGracz1);

            lWyswietlGracz1 = new JLabel ("Gracz2: ");
            lWyswietlGracz1.setBounds(30,100,200,20);
            add(lWyswietlGracz1);

            tGracz2 = new JTextField();
            tGracz2.setBounds(80,100,130,20);
            add(tGracz2);

            //JOptionPane.showInputDialog("Gracz 1: ");

            game.setGracz1(tGracz1.getText());
            game.setGracz2(tGracz1.getText()); 
0

Dzięki za pomoc. Użyłem ostatecznie "ShowInputDialog" z JOptionPane. Pojawił się kolejny problem:

String Gracz1 = "", Gracz2 = "";

            if (game.getGracz1() != Gracz1  || game.getGracz2() != Gracz2)
            {
                lNazwa1.setText(game.getGracz1());
                lNazwa2.setText(game.getGracz2());
            } 

Powyższy if w momencie, jak nie wprowadzimy żadnych danych do konsoli, nie powinien zmieniać napisu "lNazwa1". Dodam, że jak w konsoli nic nie wpiszę i stringi Gracz1 i game.getGracz1() są równe, to... do tej instrukcji i tak wchodzi. Co zrobić? Czyżby return z akcesora zwracał jeszcze jakieś dodatki?

0

Poczytaj jak się porównuje Stringi w Javie. Nie tak jak Ty to robisz.

0

Sprawa rozwiązana, porównanie .equal wystarczyło (strukturalnie). Chociaż dalej nie mam pojęcia, czemu opcja wyżej nie podziałała.

1 użytkowników online, w tym zalogowanych: 0, gości: 1