powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / С чего начать знакомство с Java ?
9 сообщений из 34, страница 2 из 2
С чего начать знакомство с Java ?
    #34204470
читател
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
omutНо даже после исправления-заработает?А чему там не работать?
Код: plaintext
1.
2.
3.
		closeButton.addActionListener(closeListener)
	}
	 private  ActionListener closeListener;
После (closeListener) пропущена
Код: plaintext
;
, после этого прога запустилась. Вы исходники вручную с листа вбиваете?
...
Рейтинг: 0 / 0
С чего начать знакомство с Java ?
    #34204477
omut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Были заданы два конкретных вопроса. Не хотите отвечать-не надо. И кошки-мышки Вы устроили. Сначала сказали, что книжный код работает, а мой нет. Потом оказывается -Вы их даже и не сравнивали. Как капризная девочка,честное слово. Зачем тогда советовать новичкам,обладая такой психикой. Я, кстати, тоже новичёк.
...
Рейтинг: 0 / 0
С чего начать знакомство с Java ?
    #34204515
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы знаете, новичЁк, специально для вас сравнил. Различий не нашел. Так что давно пора сказать, что конкретно вам не нравится.
НовичЁк новичку рознь. Некоторые прямо говорят - вот такой код вот в таком месте не работает. Тогда ему говорят - "Да, ты прав". Или - "Ты не понял то-то и то-то" (скорее всего, ваш случай).
...
Рейтинг: 0 / 0
С чего начать знакомство с Java ?
    #34204542
omut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди! Други!!!! В этой книге, на предварительной странице черным по белому написано буквально следующее:
Однако кнопка Close all класса MulticastPanel имеет несколько обработчиков. При каждом вызове метод makeNewFrame() добавляет к кнопке Close all ещё одного обработчика....................................
Где???? Ну где этот метод? Ха! Авторы модифицировали программу! И это здорово! Но стоило бы и описание её работы переписать, Вам не кажется??!! Или это не зло? В описании карбюратор, а на иллюстрации электронный инжектор. Ерунда какая! Всё равно результат один - приготовление смеси! Но читает это новичёк. Поэтому я и сомневаюсь, что подобных модификаций кода нет во втором томе.
...
Рейтинг: 0 / 0
С чего начать знакомство с Java ?
    #34204598
Donald Knuth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
omutГде???? Ну где этот метод? Ха! Авторы модифицировали программу! И это здорово! Но стоило бы и описание её работы переписать, Вам не кажется??!! Или это не зло? В описании карбюратор, а на иллюстрации электронный инжектор. Ерунда какая! Всё равно результат один - приготовление смеси! Но читает это новичёк. Поэтому я и сомневаюсь, что подобных модификаций кода нет во втором томе.Причем тут переводчики?
Код: 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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
/**
   @version 1.41 2004-05-04
   @author Cay Horstmann
*/

 import  java.awt.*;
 import  java.awt.event.*;
 import  javax.swing.*;

 public   class  MulticastTest
{
    public   static   void  main(String[] args)
   {
      MulticastFrame frame =  new  MulticastFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
   }
}

/**
   A frame with buttons to make and close secondary frames
*/
 class  MulticastFrame  extends  JFrame
{
    public  MulticastFrame()
   {
      setTitle("MulticastTest");
      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

      // add panel to frame

      MulticastPanel panel =  new  MulticastPanel();
      add(panel);
   }

    public   static   final   int  DEFAULT_WIDTH =  300 ;
    public   static   final   int  DEFAULT_HEIGHT =  200 ;  
}

/**
   A panel with buttons to create and close sample frames.
*/
 class  MulticastPanel  extends  JPanel
{
    public  MulticastPanel()
   {
      // add "New" button

      JButton newButton =  new  JButton("New");
      add(newButton);
       final  JButton closeAllButton =  new  JButton("Close all");
      add(closeAllButton);

      ActionListener newListener =  new  
         ActionListener()
         {
             public   void  actionPerformed(ActionEvent event)
            {
               BlankFrame frame =  new  BlankFrame(closeAllButton);
               frame.setVisible(true);
            }
         };

      newButton.addActionListener(newListener);
   }
}

/**
   A blank frame that can be closed by clicking a button.
*/
 class  BlankFrame  extends  JFrame
{
   /**
      Constructs a blank frame
      @param closeButton the button to close this frame
   */
    public  BlankFrame( final  JButton closeButton)
   {
      counter++;
      setTitle("Frame " + counter);
      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
      setLocation(SPACING * counter, SPACING * counter);     
      
      closeListener =  new  
         ActionListener()
         {
             public   void  actionPerformed(ActionEvent event)
            {
               closeButton.removeActionListener(closeListener);
               dispose();
            }
         };
      closeButton.addActionListener(closeListener);
   }

    private  ActionListener closeListener;
    public   static   final   int  DEFAULT_WIDTH =  200 ;
    public   static   final   int  DEFAULT_HEIGHT =  150 ;  
    public   static   final   int  SPACING =  40 ;
    private   static   int  counter =  0 ;
}
Cay S. HorstmannThe listener to the New button of the MulticastPanel is the newListener object constructed in the MulticastPanel constructor—it makes a new frame whenever the button is clicked.

But the Close all button of the MulticastPanel has multiple listeners. Each time the BlankFrame constructor executes, it adds another action listener to the Close all button. Each of those listeners is responsible for closing a single frame in its actionPerformed method. When the user clicks the Close all button, each of the listeners is activated and each of them closes its frame.

Furthermore, the actionPerformed method removes the listener from the Close all button because it is no longer needed once the frame is closed.http://safari.phptr.com/0131482025/ch08lev1sec6#ch08lev1sec6

По идее вот тут http://www.phptr.com/bookstore/product.asp?isbn=0131482025&rl=1 должна быть errata, список найденных ошибок в книге, но я не нашел
...
Рейтинг: 0 / 0
С чего начать знакомство с Java ?
    #34204607
Donald Knuth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если ты на основании этого скажешь, что CJ2 F, 7ed - плохая книга для изучения Java, то... Ну изучай по какой-нибудь другой книге. Например, попробуй достать TiJ, 4ed или купить. У нас продается только устаревшее 3 издание http://www.ozon.ru/context/detail/id/1829558/ по дикой довольно цене
...
Рейтинг: 0 / 0
С чего начать знакомство с Java ?
    #34204610
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
omutЛюди! Други!!!! В этой книге, на предварительной странице черным по белому написано буквально следующее:
Однако кнопка Close all класса MulticastPanel имеет несколько обработчиков. При каждом вызове метод makeNewFrame() добавляет к кнопке Close all ещё одного обработчика....................................
Где???? Ну где этот метод? Ха! Авторы модифицировали программу! И это здорово! Но стоило бы и описание её работы переписать, Вам не кажется??!! Или это не зло? В описании карбюратор, а на иллюстрации электронный инжектор. Ерунда какая! Всё равно результат один - приготовление смеси! Но читает это новичёк. Поэтому я и сомневаюсь, что подобных модификаций кода нет во втором томе.
Да, серьезная опечатка в книге. Чувствуется, кардинально так изменили авторы смысл своего примера
PS Вам переделать программу, новичЁк, чтобы там этот метод был, или сами догадаетесь где он?
...
Рейтинг: 0 / 0
С чего начать знакомство с Java ?
    #34204816
omut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Donald KnuthЕсли ты на основании этого скажешь, что CJ2 F, 7ed - плохая книга для изучения Java, то... Ну изучай по какой-нибудь другой книге. Например, попробуй достать TiJ, 4ed или купить. У нас продается только устаревшее 3 издание http://www.ozon.ru/context/detail/id/1829558/ по дикой довольно цене
Книга хорошая. Много в чём разобрался с помощью неё.
Кстати, за ссылку спасибо.
...
Рейтинг: 0 / 0
С чего начать знакомство с Java ?
    #34204896
omut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Donald Knuth omutГде???? Ну где этот метод? Ха! Авторы модифицировали программу! И это здорово! Но стоило бы и описание её работы переписать, Вам не кажется??!! Или это не зло? В описании карбюратор, а на иллюстрации электронный инжектор. Ерунда какая! Всё равно результат один - приготовление смеси! Но читает это новичёк. Поэтому я и сомневаюсь, что подобных модификаций кода нет во втором томе.Причем тут переводчики?
Код: 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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
/**
   @version 1.41 2004-05-04
   @author Cay Horstmann
*/

 import  java.awt.*;
 import  java.awt.event.*;
 import  javax.swing.*;

 public   class  MulticastTest
{
    public   static   void  main(String[] args)
   {
      MulticastFrame frame =  new  MulticastFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
   }
}

/**
   A frame with buttons to make and close secondary frames
*/
 class  MulticastFrame  extends  JFrame
{
    public  MulticastFrame()
   {
      setTitle("MulticastTest");
      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

      // add panel to frame

      MulticastPanel panel =  new  MulticastPanel();
      add(panel);
   }

    public   static   final   int  DEFAULT_WIDTH =  300 ;
    public   static   final   int  DEFAULT_HEIGHT =  200 ;  
}

/**
   A panel with buttons to create and close sample frames.
*/
 class  MulticastPanel  extends  JPanel
{
    public  MulticastPanel()
   {
      // add "New" button

      JButton newButton =  new  JButton("New");
      add(newButton);
       final  JButton closeAllButton =  new  JButton("Close all");
      add(closeAllButton);

      ActionListener newListener =  new  
         ActionListener()
         {
             public   void  actionPerformed(ActionEvent event)
            {
               BlankFrame frame =  new  BlankFrame(closeAllButton);
               frame.setVisible(true);
            }
         };

      newButton.addActionListener(newListener);
   }
}

/**
   A blank frame that can be closed by clicking a button.
*/
 class  BlankFrame  extends  JFrame
{
   /**
      Constructs a blank frame
      @param closeButton the button to close this frame
   */
    public  BlankFrame( final  JButton closeButton)
   {
      counter++;
      setTitle("Frame " + counter);
      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
      setLocation(SPACING * counter, SPACING * counter);     
      
      closeListener =  new  
         ActionListener()
         {
             public   void  actionPerformed(ActionEvent event)
            {
               closeButton.removeActionListener(closeListener);
               dispose();
            }
         };
      closeButton.addActionListener(closeListener);
   }

    private  ActionListener closeListener;
    public   static   final   int  DEFAULT_WIDTH =  200 ;
    public   static   final   int  DEFAULT_HEIGHT =  150 ;  
    public   static   final   int  SPACING =  40 ;
    private   static   int  counter =  0 ;
}
Cay S. HorstmannThe listener to the New button of the MulticastPanel is the newListener object constructed in the MulticastPanel constructor—it makes a new frame whenever the button is clicked.

But the Close all button of the MulticastPanel has multiple listeners. Each time the BlankFrame constructor executes, it adds another action listener to the Close all button. Each of those listeners is responsible for closing a single frame in its actionPerformed method. When the user clicks the Close all button, each of the listeners is activated and each of them closes its frame.

Furthermore, the actionPerformed method removes the listener from the Close all button because it is no longer needed once the frame is closed.http://safari.phptr.com/0131482025/ch08lev1sec6#ch08lev1sec6

По идее вот тут http://www.phptr.com/bookstore/product.asp?isbn=0131482025&rl=1 должна быть errata, список найденных ошибок в книге, но я не нашел

Вы наверно хотели написать:"Казалось-бы, причем тут переводчики?"
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / С чего начать знакомство с Java ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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