Jframe - minimiza, extinde și închide, java swing și alte java

Ca orice fereastră normală, JFrame are butoane pentru controlul dimensiunii ferestrei, precum și pentru închiderea acesteia. Aceste butoane sunt amplasate în colțul din dreapta sus al antetului ferestrei JFrame. Există un buton de minimizare a ferestrei, când faceți clic pe acesta, fereastra se prăbușește. Există un buton pentru a maximiza dimensiunea ferestrei, atunci când JFrame se desfășoară pe întregul ecran. Odată ce fereastra este maximizată, un buton pare să revină la dimensiunea "normală" a ferestrei înainte de a se desfășura. Ultimul buton închide fereastra. Interesant, pentru a realiza aceste sarcini, dezvoltatorul poate folosi metode JFrame speciale. Luați în considerare modul în care puteți minimiza, maximiza și închide o fereastră utilizând aceste metode.







Pentru a minimiza fereastra, utilizați metoda setState cu parametrul JFrame.ICONIFIED. Pentru a extinde fereastra pe întregul ecran, metoda setExtendedState este apelată cu parametrul JFrame.MAXIMIZED_BOTH. Pentru a restabili dimensiunea normală după ce fereastra a fost extinsă, numim același setExtendedState, dar numai cu parametrul JFrame.NORMAL. În continuare, dacă doriți să ascundeți fereastra, utilizați setVisible cu parametrul false. Dacă fereastra pe care dorim să o ascundem este fereastra principală a aplicației, atunci când ascundeți fereastra, trebuie să părăsiți aplicația. De exemplu, avem elementul principal din meniu "Ieșire", când selectați ce trebuie să părăsiți aplicația, atunci puteți apela imediat System.exit (0).







Ei bine și pentru demonstrarea metodelor descrise mai sus, ofer codul de aplicare care apare pe desen.

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

clasa publica TestFrame

public void static createGUI () JFrame.setDefaultLookAndFeelDecorated (adevărat);
ultimul cadru JFrame = noul JFrame ("Cadru de testare");

Panoul JPanel = nou JPanel ();
panel.setLayout (noul FlowLayout ());

JButton minButton = noul JButton ("Minimize");
minButton.addActionListener (nou ActionListener () public void actionPerformed (ActionEvent e) frame.setState (JFrame.ICONIFIED);
>
>);
panel.add (minButton);

JButton maxButton = nou JButton ("Maximize");
maxButton.addActionListener (new ActionListener () acțiune public voidPerformed (ActionEvent e) frame.setExtendedState (JFrame.MAXIMIZED_BOTH);
>
>);
panel.add (maxButton);

JButton normalButton = nou JButton ("Normal");
normalButton.addActionListener (new ActionListener () public void actionPerformed (ActionEvent e) frame.setExtendedState (JFrame.NORMAL);
>
>);
panel.add (normalButton);

JButton exitButton = nou JButton ("Exit");
exitButton.addActionListener (new ActionListener () public void actionPerformed (ActionEvent e) frame.setVisible (false);
System.exit (0);
>
>);
panel.add (exitButton);

frame.getContentPane () adăugați (panou);
frame.setPreferredSize (noua dimensiune (400, 80));

frame.pack ();
frame.setLocationRelativeTo (null);
frame.setVisible (adevărat);
>

public static void principal (String [] args) javax.swing.SwingUtilities.invokeLater (noul Runnable () public void run () createGUI ();
>
>);
>
>







Articole similare

Trimiteți-le prietenilor: