Где я могу найти исходный код классов "сборки" в Java? - PullRequest
0 голосов
/ 27 января 2010

В начале моего кода 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

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

Ответы [ 6 ]

2 голосов
/ 27 января 2010

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

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

2 голосов
/ 27 января 2010

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

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

1 голос
/ 27 января 2010

Следует учитывать, что использование импорта, такого как

, обычно считается плохой практикой.
import javax.swing.*;

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

import javax.swing.JFrame;

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

1 голос
/ 27 января 2010

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

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

1 голос
/ 27 января 2010

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

1 голос
/ 27 января 2010

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

...