我有一个PanelLogiciel类(一个显示市场连接或接口的cardLayout)和Class PanelAcces(连接接口): 我想在PanelAcces的JButton上使用ActionListener,如果使用JButton,PanelLogic会从PanelAcces更改为另一个带有CardLayout的JPanel。希望你能提供帮助,如果这是一个愚蠢的问题,但却找不到......
package e_commerce;
import java.awt.CardLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class PanelLogiciel extends JPanel implements ActionListener {
CardLayout diaporama = new CardLayout();
PanelAcces panelAcces;
PanelSite panelSite;
String connexion = new String("connexion");
String site = new String("site");
Connection connexBD;
public PanelLogiciel(){
this.setLayout(diaporama);
panelAcces = new PanelAcces(this);
panelSite = new PanelSite();
//PanelProduit panelProduit = new PanelProduit();
//PanelPanier panelPanier = new PanelPanier();
//this.add(panelProduit);
//this.add(panelPanier);
this.add(panelAcces,connexion);
this.add(panelSite,site);
}
public void actionPerformed(ActionEvent parEvt){
Object source = parEvt.getSource();
if (source == panelAcces.boutonConnexion){
try {
if (SQL.methodeConnexion(connexBD, panelAcces.entrerIdentifiant.getText(), panelAcces.entrerMotDePasse.getText()) == 0){
System.out.println("cc");
diaporama.show(panelSite,site);
}
else {
System.out.println("marche ap");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
和Class PanelAcces(连接接口):
package e_commerce;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class PanelAcces extends JPanel implements ActionListener{
JLabel labelIdentifiant; //= new JLabel("Identifiant:");
JTextField entrerIdentifiant; //= new JTextArea();
JLabel labelMotDePasse; //= new JLabel("Mot de passe:");
JTextField entrerMotDePasse; //= new JTextArea();
JButton boutonConnexion = new JButton("Connexion");
PanelLogiciel panelLogiciel;
public PanelAcces(PanelLogiciel parLogiciel){
panelLogiciel = parLogiciel;
labelIdentifiant = new JLabel("Identifiant:");
entrerIdentifiant = new JTextField(10);
labelMotDePasse = new JLabel("Mot de passe:");
entrerMotDePasse = new JTextField(10);
this.add(labelIdentifiant);
this.add(entrerIdentifiant);
//entrerIdentifiant.addActionListener(this);
this.add(labelMotDePasse);
this.add(entrerMotDePasse);
//entrerMotDePasse.addActionListener(this);
this.add(boutonConnexion);
boutonConnexion.addActionListener(panelLogiciel);
}
public void actionPerformed(ActionEvent parEvt) {
Object source = parEvt.getSource();
if (source == boutonConnexion){
System.out.println("beub");
}
}
}