2015-07-24 2 views
-1

Класс принципал:Качели, JTextAreas пустые

import javax.swing.*; 
import java.util.Random; 
    public class Principal extends Guii { 
    public int combo; 
    public static Random bulion = new Random(); 
    public static boolean sansa; 
    public static boolean input; 
    public int status; 

    //STATUS 0 = HEADS; 
    //STATUS 1 = TAILS; 

     public static void main(String[] args) { 
      Guii lee = new Guii(); 
      Principal obiect = new Principal(); 

     } 

     public int flip(){ 
     boolean sansa2 ; 
     sansa2 = bulion.nextBoolean(); 
     if(sansa2){ 
      status = 0; 
      display.setText("Heads"); 
     } 
     else{ 
      status = 1; 
      display.setText("Tails"); 
     } 
     return status; 

    } 

    public int returnStatus(){ 
     return status; 
    } 
} 

Класс Guii:

import java.awt.BorderLayout; 
import javax.swing.*; 
import java.awt.event.ActionListener; 
import java.awt.event.ActionEvent; 
import java.beans.PropertyChangeListener; 
import javax.swing.JButton; 
import java.awt.Dimension; 



public class Guii extends JFrame{ 
    Principal obiect; 
    public JButton heads = new JButton("Heads"); 
    public JButton tails = new JButton("Tails"); 
    public JTextArea display = new JTextArea(); 
    public JTextArea comboul = new JTextArea(); 
     private JPanel panel; 
     public int predictie; 

     public Guii(){ 
      super("Heads or Tails"); 
      setContentPane(panel); 

      pack(); 
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      setVisible(true);} 
    public void dacaHeads(){ 
     if(heads.getModel().isPressed()) predictie = 0; 
    } 
    public void dacaTails(){ 
     if(tails.getModel().isPressed()) predictie = 1; 

     heads.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e){ 
       dacaHeads(); 
       obiect.flip(); 

       if(predictie == obiect.returnStatus()){ 
        String s = comboul.getText(); 
        int combo = Integer.valueOf(s); 
        s = Integer.toString(++combo); 
        comboul.setText("asdsaad");} 
       else{ 
        String z = "0"; 
        comboul.setText("asdasda"); 
       } 
      } 
     }); 

     tails.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e){ 
       dacaTails(); 
       obiect.flip(); 
       if(predictie == obiect.returnStatus()){ 
        String s = comboul.getText(); 
        int combo = Integer.valueOf(s); 
        s = Integer.toString(++combo); 
        comboul.setText(s);} 
       else{ 
        String z = "0"; 
        comboul.setText(z); 
       } 
      } 
    });} 

Проблема заключается в том, что открывается окно, я вижу все, но ничего не происходит, когда я нажимаю на кнопки. Я использовал дизайнер gui от идеи intellij. Спасибо. // Извините за второй вопрос.

+1

* «Также открыты 2 окна вместо одного». * Задайте один вопрос, а не опишите две проблемы. SO - это сайт Q & A, а не справочная служба. Отдельные вопросы следует размещать в отдельных потоках. –

ответ

1

Я не знаю, является ли ошибка написания кода, но ваша функция dacaTails(), которая добавляет слушателя к кнопке, кажется, никогда не называется. Я думаю, вы должны поместить функции addActionListener в метод конструктора.

+0

Сделал это. Не работает. – AlexSS

+0

Можете ли вы так обновить сообщение с помощью нового кода, пожалуйста? – AlEmerich

+0

Я мог бы получить что-то с добавлением @Override к actionPerformed, попробуйте его увидеть. Есть еще несколько NumberFormatException и NUllPointer, но я предполагаю, что код, который вы публикуете, минимален для форума – AlEmerich

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