Emhlabeni wohlelo lwe-Java, i-JFrame iyinto ethandwayo nesetshenziswa kabanzi yelabhulali ye-Swing evumela abathuthukisi ukuthi bakhe izixhumanisi zomsebenzisi. Inkinga eyodwa evamile abathuthukisi ababhekana nayo ukuvala iwindi le-JFrame ngokwemibandela besebenzisa isitatimende uma. Lesi sihloko sizohlinzeka ngesixazululo sale nkinga, sichaze ikhodi ngesinyathelo, sixoxe ngemitapo yolwazi ehlobene nemisebenzi ehilelekile, futhi sihlolisise ukusetshenziswa komtapo wezincwadi we-Swing ekwakheni izixhumanisi zabasebenzisi ku-Java.
Isixazululo sokuvala i-JFrame enesitatimende uma
Ukuze uvale i-JFrame usebenzisa i-if isitatimende, okokuqala udinga ukunamathisela i-WindowListener engxenyeni ye-JFrame, bese ubhala phezu kwendlela yokuvala iwindi ukuze ufake isitatimende uma siqukethe isimo esifiswayo sokuvala uhlaka. Amazwibela wekhodi alandelayo abonisa le ndlela:
import javax.swing.JFrame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class ConditionalCloseJFrame { public static void main(String[] args) { JFrame frame = new JFrame("Conditional Close JFrame Demo"); frame.setSize(300, 200); frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent evt) { if (someCondition()) { frame.dispose(); } } }); frame.setVisible(true); } private static boolean someCondition() { // Your condition logic goes here return true; } }
Kulesi sibonelo, ungenisa kuqala imitapo yolwazi edingekayo ye-Swing ne-AWT, bese udala isibonelo esisha se-JFrame. Ukuqhubekela phambili, udala i-WindowAdapter bese ubhala ngaphezulu indlela yayo ye-windowClosing, eyenziwa uma uzama ukuvala iwindi. Ngaphakathi kwale ndlela, usebenzisa isimo osifunayo kundlela ye-someCondition(), esongwe ngokuthi isitatimende. Uma isimo sibuya siyiqiniso, i-JFrame izovalwa ngendlela ye-frame.dispose().
Incazelo Yesinyathelo Nesinyathelo Yekhodi
Manje, ake sihlukanise ikhodi isinyathelo ngesinyathelo futhi siqonde ukuthi isebenza kanjani:
1. Ngenisa imitapo yolwazi edingekayo: Okokuqala, udinga ukungenisa ikilasi le-JFrame kusukela kuphakheji ye-javax.swing, kanye namakilasi e-WindowAdapter kanye ne-WindowEvent kusuka kuphakheji ye-java.awt.event.
2. Dala i-JFrame: Okulandelayo, qinisa into entsha ye-JFrame, setha isihloko sayo, usayizi, kanye nokusebenza okuzenzakalelayo kokuvala ukuze kuthi DO_NOTHING_ON_CLOSE. Lokhu kukuvumela ukuthi ulawule ukuziphatha kokuvala kwe-JFrame ngokusebenzisa isitatimende uma.
3. Namathisela i-WindowListener: Kulesi sinyathelo, ungeza i-WindowAdapter yangokwezifiso ku-JFrame ngokubiza indlela ye-addWindowListener. Ngokwenza kanjalo, ungakwazi ukukhipha indlela yokuvala iwindi ukuze usebenzise ukuziphatha kwakho lapho iwindi selizovala.
4. Khipha iwindiIndlela yokuvala: Ngaphakathi kwendlela yokuvala iwindi, ufaka ingqondo yakho yangokwezifiso esongwe ngesitatimende esithi if, esihlola ukuthi isimo esishiwo kundlela ye-someCondition siyahlangatshezwa yini. Uma isimo sibuya siyiqiniso, indlela ye-frame.dispose() ibizwa ngokuthi ukuvala iwindi le-JFrame.
5. Bonisa i-JFrame: Ekugcineni, ushayela indlela ye-frame.setVisible(yeqiniso) ukuze ubonise i-JFrame esikrinini.
Ilabhulali ye-Swing ye-User Interfaces ku-Java
Java swing iwumtapo wezincwadi onamandla wokwenza i-graphical user interfaces (GUIs) yezinhlelo zokusebenza ze-Java. Ihlinzeka ngenani lezingxenye ezingasindi ezingakhiwa kalula futhi zenzelwe izinhlelo zokusebenza ezibhekene nomsebenzisi. Ezinye zezingxenye ezibalulekile zomtapo wezincwadi we-Swing zihlanganisa i-JFrame, i-JPanel, i-JButton, ne-JLabel.
I-JFrame, njengoba kubonisiwe kulesi sihloko, iyisitsha sezinga eliphezulu sezinhlelo zokusebenza ze-Java GUI futhi inikeza ukusekelwa okuyisisekelo kokuphathwa kwamawindi, okuhlanganisa ukunciphisa, ukukhulisa, nokuvala amawindi. Ngokwenza ngendlela oyifisayo nokunweba izakhiwo nokuziphatha kwe-JFrame, abathuthukisi bangakwazi ukudala ukuxhumana okusebenzisanayo nokusebenziseka kalula ezinhlelweni zabo ze-Java.