मैं एक कोड उदाहरण है कि इस कोड का इस्तेमाल किया को देखा:कार्डलाउट में अलग-अलग कार्ड कैसे दिखाएं?
cl.show(cardPanel, "" + (currentCard));
लेकिन जब मैं show
का उपयोग मैं ग्रहण में एक संदेश है कि यह पदावनत है मिलता है और मुझे आश्चर्य है कि एक और तरीका CardLayout में अलग कार्ड दिखाने के लिए वहाँ है अगर जब मैं बटन पर क्लिक करता हूं? नीचे मेरे कार्डलाउट कक्षा के लिए कोड है। कोड का कुछ हिस्सा खराब अभ्यास होने पर सुझाव भी स्वागत है। धन्यवाद!
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class CardLayoutTest extends JFrame implements ActionListener {
// Ref
private JPanel cardPanel, jp1, jp2, buttonPanel;
private JLabel jl1, jl2;
private JButton btn1, btn2;
private CardLayout cardLayout;
// Konstruktor
public CardLayoutTest()
{
setTitle("Test med CardLayout");
setSize(600,400);
cardPanel = new JPanel();
buttonPanel = new JPanel();
cardPanel.setLayout(cardLayout);
jp1 = new JPanel();
jp2 = new JPanel();
jl1 = new JLabel("Card 1");
jl2 = new JLabel("Card 2");
jp1.add(jl1);
jp2.add(jl2);
cardPanel.add(jp1, "1");
cardPanel.add(jp2, "2");
btn1 = new JButton("Show Card 1");
btn2 = new JButton("Show Card 2");
buttonPanel.add(btn1);
buttonPanel.add(btn2);
getContentPane().add(cardPanel, BorderLayout.NORTH);
getContentPane().add(buttonPanel, BorderLayout.SOUTH);
btn1.addActionListener(this);
}
public void actionPerformed(ActionEvent event)
{
// ??? Show card 1 ???
// ??? Show card 2 ???
}
public static void main(String[] args) {
CardLayoutTest frame = new CardLayoutTest();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
नए कोड के लिए धन्यवाद! यह अच्छा काम कर रहा है! लेकिन मेरे पास कुछ पंक्तियों के बारे में कुछ प्रश्न हैं जो आपने जोड़े हैं, इस तरह: निजी स्थैतिक अंतिम लंबे सीरियल VersionUID = 1L; मैं देख सकता हूं कि मैंने ग्रहण में एक पीला चेतावनी त्रिभुज हटा दिया, लेकिन यह क्या कर रहा है? और आपने इस लाइन को भी बदल दिया: getContentPane()। जोड़ें (कार्डपेनल, BorderLayout.NORTH); इसके साथ: जोड़ें (कार्डपैनल, सीमाबद्धआउट.NORTH); क्या फर्क पड़ता है? और अंत में आप भी दयालु हो सकते हैं और समझा सकते हैं कि आपने मुख्य विधि में क्या किया है? धन्यवाद! –