Introduksjon til JFrame i Java
JFrame er en java-klasse som utvides med Frame-klassen for Java. JFrame blir behandlet som hovedvinduet. I JFrame kan forskjellige elementer som etiketter, tekstfelt, knapper legges til. Disse elementene på JFrame lager grafisk brukergrensesnitt.
JFrame er også kjent som Swing toppnivå container. Swing refererer til GUI-widgeten Toolkit for å lage applikasjoner i JAVA. Swing er lett og uavhengig av plateform. JFrame-klassen i applikasjonen kan opprettes på følgende måte
public class JFrame utvider Frame-implementeringer WindowConstants, Accessible, RootPaneContainer
JFrame Constructor
JFrame Constructor og beskrivelsene nedenfor er gitt nedenfor.
- JFrame () - JFrame () er en JFrame-konstruktør som lager en ny ramme. Som standard forblir det usynlig.
- JFrame (String title, GraphicsConfiguration gc) - Denne konstruktøren oppretter en JFrame i den angitte grafiske konfigurasjonen og med den spesifiserte tittelen som i parameter.
- JFrame (GraphicsConfiguration gc) - Denne konstruktøren oppretter en JFrame i den spesifiserte grafiske konfigurasjonen som i parameteren.
- JFrame (String title) - Denne konstruktøren oppretter en JFrame med den spesifiserte tittelen som i parameter.
JFrame-metoder
JFrame-klassen gir noen metoder som spiller en viktig rolle i arbeidet med JFrame.
1. AccessibleContext getAccessibleContext () - Denne metoden får den tilgjengelige konteksten som fortsatt er tilknyttet JFrame.
2. Container getContentPane () - Denne metoden oppretter JFrames contentPane- objekt.
3. Component getGlassPane () - Denne metoden oppretter glassPane-objektet for JFrame.
4. int getDefaultCloseOperation () - Når brukeren klikker på lukkeknappen på denne rammen, returnerer denne metoden operasjonen.
5. JMenuBar getJMenuBar () - Menysett som er opprettet ved rammen ved å bruke denne metoden.
6. JLayeredPane getLayeredPane () - LayeredPane-objekt returneres med denne metoden.
7. JRootPane getRootPane () - rootPane-objektet returneres med denne metoden.
Under gitte metoder (8 - 15) må tilgangsmodifiseringen "beskyttet" legges til ved starten av metoden -
8. addImpl (Component comp, Objektbegrensninger, int-indeks) - Denne metoden legger til det spesifiserte underordnede elementet for denne rammen.
9. JRootPane createRootPane () - Lag standard rootPane og kalt av konstruktøren.
10. void frameInit () - Det kalles av konstruktøren til å initialisere JFrame.
11. boolean isRootPaneCheckingEnabled () - Samtaler for å legge til & setLayout blir videresendt til contentPane eller ikke er validert av denne metoden
12. String paramString () - Denne metoden returnerer JFrame i form av String.
13. void processWindowEvent (WindowEvent e) - Denne metoden behandler vinduhendelsen skjedde på vinduskomponenten.
14. void setRootPane (JRootPane root) - Denne metoden angir rootPane-egenskapen.
15. void setRootPaneCheckingEnabled (boolesk aktivert) - Denne angir anrop for å legge til & setLayout blir videresendt til contentPane eller ikke.
16. statisk boolsk isDefaultLookAndFeelDecorated () - Hvis de nyopprettede JFrames har sine vindusdekorasjoner som levert av det nåværende utseendet og følelsen, kommer denne metoden tilbake.
17. TransferHandler getTransferHandler () - Denne metoden får transferHandler-egenskapen.
18. void remove (Component comp) - For å fjerne den spesifikke komponenten fra JFrame container kan vi bruke denne metoden.
19. void repaint (lang tid, int x, int y, int bredde, int høyde) - Denne metoden brukes til å male det spesifikke rektanglet på innsiden av komponenten på få millisekunder.
20. void setContentPane (Container contentPane) - Egenskapen til contentPane er angitt ved denne metoden.
21. void setDefaultCloseOperation (int operation) - Standardoperasjon satt med denne metoden som vil skje når brukeren setter i gang lukkeoperasjonen for en ramme.
22. void setGlassPane (Component glassPane) - glassPane-egenskapen kan angis ved å bruke denne metoden.
23. void setIconImage (Image img) - Ikon for vindusrammen kan angis ved å bruke denne metoden.
24. void setJMenuBar (JMenuBar menubar) - Menylinje for JFrame kan angis ved å bruke denne metoden.
25. void setLayeredPane (JLayeredPane jlPane) - LayeredPane Eiendom er satt med denne metoden.
26. void setLayout (LayoutManager manager) - LayoutManager opprettes ved å bruke denne metoden.
27. void setTransferHandler (TransferHandler newHandler) - Denne angir egenskapen relatert til transferHandler, Denne lager en mekanisme for å støtte dataoverføringen for komponenten.
28. ugyldig oppdatering (Grafikk g) - Denne kaller malingen for å fargelegge rammene og elementene
Eksempler på JFrame i Java
Her er følgende eksempler nevnt nedenfor
Eksempel 1
Se eksemplet nedenfor
import javax.swing.*;
public class demoJFrame extends JFrame(
JFrame frame;
demoJFrame()(
setTitle("A Sample JFrame Window");
JButton button = new JButton("click");
button.setBounds(100, 100, 115, 55);
add(button);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
setLayout(null);
setVisible(true);
)
public static void main(String() args)(
new demoJFrame();
)
)
I det ovenfor gitte eksemplet importeres swing-biblioteket for å inkludere forskjellige klasser for å jobbe med Frame & events. I skjermbildet nedenfor opprettes en ramme ved hjelp av JFrame-klasser for swing-bibliotek.
Eksempel 2
I dette eksemplet bruker du flere metoder for JFrame, Layout & Events-klasser for å lage former inne i rammen.
import javax.swing.*;
import java.awt.event.*;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
public class JFrameDemo(
public static void main(String() args)(
// Create frame with title Registration Demo
JFrame frame= new JFrame();
frame.setTitle("JFrame Based Contact Form");
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
JPanel headingPanel = new JPanel();
JLabel headingLabel = new JLabel("Contact Us Panel");
headingPanel.add(headingLabel);
JPanel panel = new JPanel(new GridBagLayout());
// Constraints for the layout
GridBagConstraints constr = new GridBagConstraints();
constr.insets = new Insets(5, 5, 5, 5);
constr.anchor = GridBagConstraints.WEST;
// Setting initial grid values to 0, 0
constr.gridx=0;
constr.gridy=0;
JLabel nameLabel = new JLabel("Enter your name :");
JLabel emailLabel = new JLabel("Enter your email :");
JLabel phoneLabel = new JLabel("Enter your phone :");
JLabel msgLabel = new JLabel("Message :");
JTextField nameInput = new JTextField(20);
JTextField emailInput = new JTextField(20);
JTextField phoneInput = new JTextField(20);
JTextArea textArea = new JTextArea(5, 20);
panel.add(nameLabel, constr);
constr.gridx=1;
panel.add(nameInput, constr);
constr.gridx=0; constr.gridy=1;
panel.add(emailLabel, constr);
constr.gridx=1;
panel.add(emailInput, constr);
constr.gridx=0; constr.gridy=2;
panel.add(phoneLabel, constr);
constr.gridx=1;
panel.add(phoneInput, constr);
constr.gridx=0; constr.gridy=3;
panel.add(msgLabel, constr);
constr.gridx=1;
panel.add(textArea, constr);
constr.gridx=0; constr.gridy=4;
constr.gridwidth = 2;
constr.anchor = GridBagConstraints.CENTER;
// Button with text "Register"
JButton button = new JButton("Submit");
// add a listener to button
button.addActionListener(new ActionListener()
(
public void actionPerformed(ActionEvent e)
(
headingLabel.setText("Thanks for Contacting us. We'll get back to you shortly.");
nameInput.setText("");
emailInput.setText("");
phoneInput.setText("");
textArea.setText("");
)
));
panel.add(button, constr);
mainPanel.add(headingPanel);
mainPanel.add(panel);
frame.add(mainPanel);
frame.pack();
frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
)
)
I det ovenfor gitte eksemplet opprettes en vindusramme ved hjelp av JFrame. & lage elementer ved å bruke klassemetodene JPanel (). andre biblioteker blir brukt til layout og arrangementer. Følgende er skjermdumpen som er lagt ved når du har satt sammen og kjørt Java-koden.
Konklusjon - JFrame i Java
JFrame er klassen på swingpakken som hovedsakelig brukes til å lage JFrame. Vi kan si at JFrame-vinduet kan opprettes ved å instantisere JFrame-klassen. De fleste nye GUI Java-kodebaser bruker JavaFX, som er svingerstatningen i den nyeste versjonen av Java. I løpet av de kommende dagene flytter programmerere til JavaFX på grunn av den nyeste versjonen av Java-biblioteker og utvidede funksjoner.
Anbefalte artikler
Dette er en guide til JFrame i Java. Her diskuterer vi konstruktørene og metodene til JFrame sammen med eksemplene. Du kan også se på følgende artikler for å lære mer -
- 3D-matriser i Java
- JScrollPane i Java
- JDialog i Java
- JTextField i Java
- 3D Arrays i C ++
- JavaFX-oppsett
- JLabel i Java
- Flowlayout i Java
- Typer og hvordan lage JavaFx-diagrammer?
- Hvordan legge inn tekst i JavaFX TextField?
- Topp 15 metoder for HBox i JavaFX
- Komplett guide til JLayeredPane med eksempler