Janelas (JFrame) desaparecem no GNOME

0 respostas
dadario

Desenvolvi um teste do problema que tenho:

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

public class PaiFrame extends JFrame {

    private JFrame internal;

    public PaiFrame() {
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        Dimension size = new Dimension(300, 300);
        setPreferredSize(size);
        setMinimumSize(size);
        setLocation(new Point(0, 0));

        setLayout(new BorderLayout());

        JButton button = new JButton("Vamos abrir uma nova janela");

        button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

                if (internal != null) {
                    internal.dispose();
                }
                internal = new FilhoFrame(PaiFrame.this);
                internal.setVisible(true);
            }
        });

        add(button, BorderLayout.CENTER);

        setVisible(true);
        requestFocusInWindow();
    }

    @Override
    public void dispose() {
        if (internal != null) {
            internal.dispose();
        }
        super.dispose();
    }

    public static void main(String[] args) {
        new PaiFrame();
    }

}

class FilhoFrame extends JFrame {

    public FilhoFrame(JFrame paiFrame) {
        setPreferredSize(paiFrame.getPreferredSize());
        setMinimumSize(paiFrame.getMinimumSize());
        setLayout(new BorderLayout());
        Point location = paiFrame.getLocation();
        setLocation(location.x + 100, location.y + 100);

        JButton button = new JButton("Vamos agora abrir um dialog");

        button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(FilhoFrame.this, "Será que ainda temos duas janelas no taskbar?");
            }
        });

        add(button, BorderLayout.CENTER);
    }

}

O problema acontece no gnome:
Rodando este código, abro as duas janelas conforme as chamadas dos botões, elas aparecem na barra de tarefas (gnome-panel), mas abrindo o dialogo a janela responsável pelo dialogo some da barra.
Testei no KDE e as janelas não somem, testei numa versão do Java Environment Desktop (gnome da sun) e também não some, apenas some enquanto o dialogo está ativo, mas volta.

Agora, alguém já teve um tipo de problema desse?

Espero ter sido claro. :)

Criado 4 de dezembro de 2009
Respostas 0
Participantes 1