powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / непонятно с Frame
8 сообщений из 8, страница 1 из 1
непонятно с Frame
    #33228105
vaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здрасте, что то не могу никак дойти, в чем дело. идея простоя - есть класс в котором существует таймер, по которому накручивается счетчик. есть второй класс Frame, который запускается из первого и должен отображать этот счетчик. счетчикидет, а во фрейме ничего не меняется, такое ощущение что он не перерисовывается. помогите разобраться, вот исходники:
--------------------------------------------------------------------------------
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
 public   class  Frame1  extends  JFrame  implements  ActionListener{
    JPanel contentPane;
    Label label =  new  Label();
    BorderLayout borderLayout1 =  new  BorderLayout();

     public  Frame1() {
         try  {setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        }  catch  (Exception exception) {exception.printStackTrace();}
    }

     public   void  jbInit()  throws  Exception{
        contentPane = (JPanel) getContentPane();
        contentPane.add(label, java.awt.BorderLayout.CENTER);
        setSize( new  Dimension( 200 , 100 ));
        label.setText(Integer.toString(tester.val)+"-1111111111");
        label.repaint();
        label.setVisible(true);
    }
     public   void  actionPerformed(ActionEvent e){
        tester.val =  tester.val+ 1 ;
        }


}
-------------------------------------------------------------------------------

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 public   class  tester {
     static   int  val =  1 ;
     public  tester() {
        Frame1 frame =  new  Frame1();
        Timer t =  new  Timer( 10 ,  new  deystvo());
        t.start();
        frame.setVisible(true);
    }

     public   class  deystvo  implements  ActionListener{
         public   void  actionPerformed(ActionEvent e){
            System.out.println(tester.val);
            tester.val =  tester.val+ 1 ;
        }
    }

     public   static   void  main(String[] args) {
        tester t =  new  tester();
    }
}
...
Рейтинг: 0 / 0
непонятно с Frame
    #33228240
gaper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ваш фрейм ничего не знает о счётчике, а таймер ничего не знает о фрейме. Их надо как-то познакомить друг с другом. :)
...
Рейтинг: 0 / 0
непонятно с Frame
    #33228711
AciD_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можешь попробовать так хотя бы:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
 public   class  tester {
     static   int  val =  1 ;
    Frame1 frame;

     public  tester() {
        frame =  new  Frame1();
        Timer t =  new  Timer( 10 ,  new  deystvo());
        t.start();
        frame.setVisible(true);
    }

     public  setValue( int  value) {
        val = value;
        frame.label.setText(String.parseInt(val));
        frame.invalidate();
    }

     public   class  deystvo  implements  ActionListener{
         public   void  actionPerformed(ActionEvent e){
            System.out.println(tester.val);
            tester.setValue(tester.val+ 1 );

        }
    }

     public   static   void  main(String[] args) {
        tester t =  new  tester();
    }
}
...
Рейтинг: 0 / 0
непонятно с Frame
    #33229177
vaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gaperВаш фрейм ничего не знает о счётчике, а таймер ничего не знает о фрейме. Их надо как-то познакомить друг с другом. :)

тоесть как это не знает? он рождается в конструкторе тестера.
Ну хорошо как я могу его познакомить?
...
Рейтинг: 0 / 0
непонятно с Frame
    #33229185
vaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot AciD_v]Можешь попробовать так хотя бы:

непонимаю а чем твой тестер принципиально отличается от моего?
...
Рейтинг: 0 / 0
непонятно с Frame
    #33229187
Боц!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahaнепонимаю а чем твой тестер принципиально отличается от моего?frame.invalidate();
...
Рейтинг: 0 / 0
непонятно с Frame
    #33229379
vaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Боц! vahaнепонимаю а чем твой тестер принципиально отличается от моего?frame.invalidate();
да, я заметил. подставил это в свой код, но ничего хорошего это не принесло. да и судя по документации эта строчка ничего особенного не несет "Invalidates the container. The container and all parents above it are marked as needing to be laid out. This method can be called often, so it needs to execute quickly."
...
Рейтинг: 0 / 0
непонятно с Frame
    #33231196
vaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вобщем сам разобрался, благодаря другам...
надо было просто перерисовывать фрейм, переопределив метод frame1.repaint()
всем спасибо.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / непонятно с Frame
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]