BG Development


  Reply to this topicStart new topicStart Poll

> стойност на променлива от даден клас в мейн тялото
test_object
Публикувано на: 16-09-2018, 19:45
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 2
Регистриран на: 16.09.18



Здравейте, колеги!

Току-що се регистрирах във форума и имам въпрос, свързан с Java-та. Искам да взема стойност на променлива от тип int, намираща се в клас, който наследява Thread и тази стойност да се отпечата в мейн-а на джава кода. Ето и кода:

CODE

class Rcv extends Thread{
              public int puskane = 0;
       public void run(){
          for(;;){
             
             
                      if (serv.getText().equals("1\n")) {
                     
                      int n = JOptionPane.showConfirmDialog(null, "Svyrzani v momenta sa 1 klient", "Informaciq", JOptionPane.YES_NO_OPTION);
                   puskane = 1;
                }
                      if (serv.getText().equals("2\n")) {
                       
                          int m = JOptionPane.showConfirmDialog(null, "Svyrzani v momenta sa 2 klienta", "Informaciq", JOptionPane.YES_NO_OPTION);
                          puskane = 2;
                    }
                     
                      if (serv.getText().equals("3\n")) {
                       
                          int o = JOptionPane.showConfirmDialog(null, "Svyrzani v momenta sa 3 klienta", "Informaciq", JOptionPane.YES_NO_OPTION);

                         puskane = 3;
                      }
               
             
               
               try {        
                   sleep(400);
               } catch (InterruptedException e){}
               try{
                   serv.append(in.readLine()+"\n"); //prochita cqlata liniq bez enter
       

                   
               } catch (IOException e1){break;}
           }
           System.out.println(" closing reading thread...");
           try{
               socket.close(); //zatvarqme soketa
           }
           catch (Exception expt){
               System.out.println(expt);
           }
           System.exit(0);
       }
   }
      
}


Променливата, е public int puskane = 0; Стойността на тази променлива трябва да взема и да се визуализира в следният мейн на кода:

CODE

public static void main(String[] args )throws IOException{
   

   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); //tuk izkluchenie
 
   Client_gr serv = new Client_gr(frame);
 
 

      
      
          frame.setSize(500,300);
      
          frame.setVisible(true);
          int l = JOptionPane.showConfirmDialog(null, "KAKVO POKAZVA "+serv.puskane, "Informaciq", JOptionPane.YES_NO_OPTION);
        
      
        

}
}



Ще се радвам да помогнете

Това мнение е било редактирано от test_object на 16-09-2018, 19:47
PMEmail Poster
Top
thrawn
Публикувано на: 16-09-2018, 20:14
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1836
Регистриран на: 17.01.17



Показания код е лишен от смисъл.
PMEmail Poster
Top
test_object
Публикувано на: 16-09-2018, 20:32
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 2
Регистриран на: 16.09.18



Не споря. Все пак ще се радвам да помогнете какво трябва да се редактира, за да изкарам стойността на променливата puskane в мейна.
PMEmail Poster
Top
thrawn
Публикувано на: 17-09-2018, 06:05
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1836
Регистриран на: 17.01.17



Не може да се каже, защото нищо не свързва двете парчета непълен код.
Това което се вижда от тоя код е, че има 3 нишки (основната, в който се изпълнява функцията main, тази на УИ -а и нишката която се създава допълнително). Вижда се също така, че и трите нишки пипат по УИ -а, а това е проблем.

Въпросът от своя страна също е неточен. Трябва ти достъп до променливата в основната нишка, но не става ясно кога. Най-вероятно след като тя получи някаква стойност. Което значи, че трябва да се синхронизират двете нишки (още повече, че стойността трябва да се използва в точно определена функция).

Да не говорим за подозрителното извикване на System.exit което би могло да спре приложението преди стойността на променливата да бъде обработена от основната нишка.
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2018 | BG Development | All Rights Reserved
RSS 2.0