سلام
فى محاولة لعمل فكرة ما لا أتطرق ها الآن و لكن فى هذه الفكرة أردت ان استخدم الlayoutmanager الى اسمه
cardLayout()
و ذلك بعمل كود بسيط
عامل 2 buttons (triangle button , rectangle button)
اول ما اضغط على الزرار triangle يفتح لى بانل مكتوب عليها ال text الى على هذا الزرار
و هكذا مع الزرار الاخر
و لكن هناك مشاكل بالكود
الذى كتبته
هاك شفرته
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class CardLayoutDemo extends JFrame {
JPanel mainPanel ,buttonpanel,trianglePanel,rectanglepanel;
JButton Triangle,rectangle;
public CardLayoutDemo(){
mainPanel=new JPanel(new CardLayout());
buttonpanel=new JPanel(new FlowLayout());
trianglePanel=new JPanel();
rectanglepanel=new JPanel();
Triangle=new JButton("Triangle");
Triangle.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
CardLayout c=new CardLayout();
c.show(mainPanel, "triangle");
}
});
buttonpanel.add(Triangle);
trianglePanel.add(Triangle.getText(),this);
rectangle=new JButton("rectangle");
buttonpanel.add(rectangle);
rectanglepanel.add(rectangle.getText(),this);
mainPanel.add(trianglePanel);
mainPanel.add(rectanglepanel);
getContentPane().add(buttonpanel,BorderLayout.CENTER);
}
public static void main(String[]args){
JFrame frame=new CardLayoutDemo();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setVisible(true);
frame.setSize(new Dimension(500,250));
}
}