السلام عليكم ورحمة الله وبركاته
في الكود التالي استخدمة 4 methods لانشاء4 JPanel تختلف محتويات كل Panel عن محتويات الاخر
ما اريده هو كيف اقلل عدد methods من 4 الى واحده فقط .
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionListener;
class MyGUI2{
public MyGUI2(){
JFrame fram=new JFrame("View");
fram.setLayout(new FlowLayout());
fram.add(getPanelCheckboxs("Snap to Grid","Shaw Grid"));
fram.add(getPanelLabels("X","Y"));
fram.add(getPanelFields("",""));
fram.add(getPanelButton("OK","CANCEL","HELP"));
fram.pack();
fram.setLocationRelativeTo(fram);
fram.setVisible(true);
}
private JPanel getPanelCheckboxs(String...texts){
JPanel gridPanel = new JPanel(new GridLayout(texts.length,1));
for(String text:texts)gridPanel.add(new JCheckBox(text));
return gridPanel;
}
private JPanel getPanelLabels(String...texts){
JPanel gridPanel = new JPanel(new GridLayout(texts.length,1));
for(String text:texts)gridPanel.add(new JLabel(text));
return gridPanel;
}
private JPanel getPanelFields(String...texts){
JPanel gridPanel = new JPanel(new GridLayout(texts.length,1));
for(String text:texts)gridPanel.add(new JTextField(10));
return gridPanel;
}
private JPanel getPanelButton(String...texts){
JPanel gridPanel = new JPanel(new GridLayout(texts.length,1));
for(String text:texts)gridPanel.add(new JButton(text));
return gridPanel;
}
public static void main(String[]args){
new MyGUI2();
}
}فكرت في التعديل التالي ولم اوفق فيه
اتمنى منكم التوجيه
public MyGUI2(){
JFrame fram=new JFrame("View");
fram.setLayout(new FlowLayout());
fram.add(getPanel(new JCheckBox(), "Snap to Grid","Shaw Grid"));
fram.add(getPanel(new JLabel(), "X","Y"));
fram.add(getPanel(new JTextField(), "",""));
fram.add(getPanel(new JButton(), "OK","CANCEL","HELP"));
fram.pack();
fram.setLocationRelativeTo(fram);
fram.setVisible(true);
}
private JPanel getPanel(JComponent component, String...texts){
JPanel gridPanel = new JPanel(new GridLayout(texts.length,1));
/*
*
*/
return gridPanel;
}و شكرا
.jpg)
