Swing ComponentListener.componentShown не запускается - PullRequest
1 голос
/ 30 марта 2011

Я хотел бы получить (Графика g), когда отображается WorldPanel.Благодаря stackoverflow я увидел ответ, где я должен использовать метод getGraphics (ComponentListener.componentShown), но каким-то образом мой слушатель не смог поймать componentShown.

Что я сделал не так?Внизу фрагмента кода «hello» не может быть отображено.

public class MainPanel extends javax.swing.JPanel implements ComponentListener {
    private CWorldPanel WorldPanel; // extends JPanel

    private void initGUI() {
        try {
            ...
            this.setLayout(thisLayout);
            {
                WorldPanel = new CWorldPanel();             
                WorldPanel.addComponentListener(this);
...
    @Override
    public void componentShown(ComponentEvent e) {
        System.out.println("hello");

    }

См. Мое объяснение и благодарность внизу страницы (cscsaba)

1 Ответ

1 голос
/ 30 марта 2011

Если вы хотите получить объект Graphics для рисования на вашем компоненте, как только он станет видимым, не делайте этого. Просто переопределите метод paintComponent объекта, который будет показан, и нарисуйте его там.

(я понятия не имею, почему ваш ComponentListener не работает, и не могу попробовать, так как ваш пример неполон.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...