Ab Juli 2020 suchte ich nach einer Software, die mit Java Swing entwickelt wird, um eine Funktion zu haben, die den Bildschirm wechselt (den Bildschirm wechselt), wenn eine Schaltfläche wie eine Website gedrückt wird. Mit einer Funktion namens CardLayout wird der Bildschirm jedoch angezeigt. Es scheint, dass ein Übergang möglich ist, deshalb möchte ich ihn zusammenfassen.
Definieren Sie zunächst den grundlegenden JFrame.
PanelChangeTest.java
import javax.swing.*;
public class PanelChangeTest extends JFrame{
public static void main(String[] args) {
PanelChangeTest frame = new PanelChangeTest();
frame.setTitle("Bildschirmübergangstest");
frame.setSize(900, 600);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Ich werde es versuchen.
javac PanelChangeTest.java && java PanelChange
Ich konnte es sicher ausführen.
Fügen Sie dann ein Panel hinzu. Das Verfahren ist wie folgt
PanelChangeTest.java
import java.awt.*;
import javax.swing.*;
public class PanelChangeTest extends JFrame{
JPanel cardPanel;
CardLayout layout;
public static void main(String[] args) {
PanelChangeTest frame = new PanelChangeTest();
frame.setTitle("Bildschirmübergangstest");
frame.setSize(900, 600);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setVisible(true);
}
public PanelChangeTest() {
// panel01
JPanel panel01 = new JPanel();
JButton btn01 = new JButton("panel01");
panel01.add(btn01);
// panel02
JPanel panel02 = new JPanel();
panel02.setBackground(Color.DARK_GRAY);
JButton btn02 = new JButton("panel02");
panel02.add(btn02);
// panel03
JPanel panel03 = new JPanel();
panel03.setBackground(Color.LIGHT_GRAY);
JButton btn03 = new JButton("panel03");
panel03.add(btn03);
//Panel für Kartenlayout
cardPanel = new JPanel();
layout = new CardLayout();
cardPanel.setLayout(layout);
cardPanel.add(panel01, "panel01");
cardPanel.add(panel02, "panel02");
cardPanel.add(panel03, "panel03");
//Kartenbewegungstaste
JButton firstButton = new JButton("panel01");
JButton secondButton = new JButton("panel02");
JButton thirdButton = new JButton("panel03");
JPanel btnPanel = new JPanel();
btnPanel.add(firstButton);
btnPanel.add(secondButton);
btnPanel.add(thirdButton);
//Platzieren Sie die Schaltfläche cardPanel und Kartenbewegung in JFrame
Container contentPane = getContentPane();
contentPane.add(cardPanel, BorderLayout.CENTER);
contentPane.add(btnPanel, BorderLayout.PAGE_END);
}
}
Ich werde es versuchen.
javac PanelChangeTest.java && java PanelChange
Das hinzugefügte Bedienfeld und die Schaltfläche werden angezeigt. Zu diesem Zeitpunkt können Sie den Bildschirm jedoch nicht ändern, indem Sie die Taste am unteren Bildschirmrand drücken.
Fügen Sie eine Bildschirmübergangsfunktion hinzu, damit der Bildschirm durch Drücken der Taste am unteren Bildschirmrand umgeschaltet werden kann.
--Write implementiert ActionListener
im Klassennamen, um das Verhalten beim Klicken auf die Schaltfläche zu steuern.
--Schreiben Sie .addActionListener (this);
und .setActionCommand (" Panel-Name ");
für jede der drei Schaltflächen, um den Schaltflächen Funktionen hinzuzufügen.
actionPerformed ()
-Methode zum Bildschirm wechseln möchten, der jeder Schaltfläche entspricht.PanelChangeTest.java
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class PanelChangeTest extends JFrame implements ActionListener{
JPanel cardPanel;
CardLayout layout;
public static void main(String[] args) {
PanelChangeTest frame = new PanelChangeTest();
frame.setTitle("Bildschirmübergangstest");
frame.setSize(900, 600);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setVisible(true);
}
public PanelChangeTest() {
// panel01
JPanel panel01 = new JPanel();
JButton btn01 = new JButton("panel01");
panel01.add(btn01);
// panel02
JPanel panel02 = new JPanel();
panel02.setBackground(Color.DARK_GRAY);
JButton btn02 = new JButton("panel02");
panel02.add(btn02);
// panel03
JPanel panel03 = new JPanel();
panel03.setBackground(Color.LIGHT_GRAY);
JButton btn03 = new JButton("panel03");
panel03.add(btn03);
//Panel für Kartenlayout
cardPanel = new JPanel();
layout = new CardLayout();
cardPanel.setLayout(layout);
cardPanel.add(panel01, "panel01");
cardPanel.add(panel02, "panel02");
cardPanel.add(panel03, "panel03");
//Kartenbewegungstaste
JButton firstButton = new JButton("panel01");
firstButton.addActionListener(this);
firstButton.setActionCommand("panel01");
JButton secondButton = new JButton("panel02");
secondButton.addActionListener(this);
secondButton.setActionCommand("panel02");
JButton thirdButton = new JButton("panel03");
thirdButton.addActionListener(this);
thirdButton.setActionCommand("panel03");
JPanel btnPanel = new JPanel();
btnPanel.add(firstButton);
btnPanel.add(secondButton);
btnPanel.add(thirdButton);
//Platzieren Sie die Schaltfläche cardPanel und Kartenbewegung in JFrame
Container contentPane = getContentPane();
contentPane.add(cardPanel, BorderLayout.CENTER);
contentPane.add(btnPanel, BorderLayout.PAGE_END);
}
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
layout.show(cardPanel, cmd);
}
}
Ich werde es versuchen.
javac PanelChangeTest.java && java PanelChange
Der gleiche Bildschirm wie zuvor wurde angezeigt. Klicken Sie unten auf dem Bildschirm auf die Schaltfläche "panel02".
Auf panel02 umgeschaltet. Klicken Sie ebenfalls auf "Panel 03".
Auf panel03 umgeschaltet. Die Schaltfläche am oberen Bildschirmrand dient zur Vereinfachung der Anzeige des Bedienfeldnamens, sodass dieser Code keine Funktion als Schaltfläche hat.
Dieses Mal habe ich den Bildschirmübergang der GUI mit Java Swing getestet.
Es war nur ein Test, also war es so einfach wie 3 Methoden in einer Datei. Praktisch sein
Ich hielt es für notwendig, hochgradig anpassbare Klassenmethoden unter Wahrung der Lesbarkeit zu konfigurieren.
Lassen Sie uns programmieren: Verwenden wir Swing
Recommended Posts