2010-01-27 5 views
0

В начале моего кода Java у меня есть:Где я могу найти исходный код классов «build» в Java?

import java.awt.BorderLayout; 
import java.awt.Container; 
import java.awt.Dimension; 
import java.awt.event.*; 
import javax.swing.*; 

А потом у меня есть следующие:

public class KeyEventDemo extends JFrame 
     implements KeyListener, 
     ActionListener 

Я пытаюсь понять, что делает код. И я начал с самого начала. Например, я хочу знать, что класс JFrame определен (я думаю, что он принадлежит либо к java.awt.event, либо к пакету javax.swing. Я также хотел бы видеть горячий интерфейс KeyListener.

.

Моя проблема в том, что я не знаю, где найти соответствующий исходный код, который я попробовал следующее:.

locate event | grep awt 

Ничего не найдено Может кто-нибудь помочь, мы с этим, мольбы

ответ

2

у вас есть доступ. в IDE (например, Eclipse или Intellij)? Это поможет чрезвычайно с навигацией по вашему коду, и что от JDK. Если вы не используете его, я бы настоятельно рекомендовал его.

Для вашего конкретного вопроса классы awt являются частью пакета JDK. Вам понадобится исходный код JDK. Вы можете скачать версию исходного кода here.

1

Обычно есть файл src.zip, который содержит весь исходный код - попробуйте разархивировать это или навести на него IDE и посмотреть там.

1

Исходный код обычно можно найти в файле с именем src.zip, который находится внутри вашего каталога установки JDK. По крайней мере, это справедливо для Sun JDK.

2

Исходный код не всегда поставляется с java, только скомпилированными классами. Однако вам не нужен исходный код, вам нужно описать используемые интерфейсы/классы. Они называются документацией API.

Вот апи документации Java для Java 5: http://java.sun.com/j2se/1.5.0/docs/api/

1

Если вы не загрузить из кода обеспечения веб-сайт, вы не можете видеть его код.

Вы можете использовать Decompiler для глядя на thecode из файлов сборки

1

Одна вещь, чтобы рассмотреть, что это обычно считается плохой практикой использовать импорт таких как

import javax.swing.*; 

Вместо этого попробуйте:

import javax.swing.JFrame; 

и выполните одно заявление импорта для каждого класса, который вам нужен. Это улучшает ремонтопригодность. Это также поможет вам выяснить, какие именно классы вам нужны для поиска в API. Я определенно соглашусь с тем, что вы должны начать с API через исходный код. Исходный код Swing, по моему опыту, более сложный для навигации, чем Swing Javadoc. Что вы хотите сделать, это проверить Javadoc для JFrame, KeyEventListener и ActionListener. Sun's Swing Trail также полезен при взгляде на хау и whys, особенно когда дело доходит до событий.