Minimalizacja okna GUI

Odpowiedz Nowy wątek
2019-03-13 17:38
0

Mam niewielki problem w zasadzie ,,kosmetyczny" z oknem w GUI do logowania systemu. Po wstawieniu w testowym przykładzie labela i dodaniu akcji poprzez mouseClicked , pomimo iż z tego co przeglądałem sieć to najbardziej standardowa metoda. Nie wiem co robię źle, Systemexit na zamknięcie działa, ale to jakoś nie...

package praca_dyplomowa_moduly_testowe;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Frame;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JLabel;

public class MinimalWindowTest extends JFrame {

private JPanel contentPane;

private JFrame frames;
/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                MinimalWindowTest frame = new MinimalWindowTest();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the frame.
 */
public MinimalWindowTest() {
    frames = new JFrame();
    frames.isUndecorated();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    contentPane.setLayout(new BorderLayout(0, 0));
    setContentPane(contentPane);

    JPanel panel = new JPanel();
    contentPane.add(panel, BorderLayout.CENTER);

    JLabel lblMinimal = new JLabel("minimal");
    lblMinimal.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            frames.setState(ICONIFIED);
        }
    });
    panel.add(lblMinimal);
}

}


:)

Pozostało 580 znaków

2019-03-13 18:24
0

Dlatego że setState(ICONIFIED) robisz na jakimś bzdurnym obiekcie frames = new JFrame(); zamiast na właściwym oknie, które utworzyłeś tutaj:

MinimalWindowTest frame = new MinimalWindowTest();

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0