我正在编写一个需要输入的程序,但输入字段非常相似(基本上除了名称之外它们是相同的)。在下面粘贴的代码中,我只显示了前两个JPanels的代码,但总共有7个,并且,我的代码当前设置的方式,我只重复代码7次。但是,我觉得应该有一种方法来编写一个方法,然后我可以简单地调用该方法7次。那可能吗?我该怎么办?我需要有不同名称的面板,以便将它们分别添加到我的JFrame中。
我想我要问的是:如何在方法中调用非常相似的JPanel,以便在调用该方法时将它们添加到JFrame中。我是Java的一个完整的菜鸟,这是我的第一个大项目。感谢您提供的任何帮助。
public GPACalculatorController(){
setTitle("GPA Calculator");
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel dataEntryPanel = new JPanel(new GridLayout(0,1));
JPanel dataEntryPanelBorder = new JPanel(new BorderLayout());
JPanel previousSemesterInstructions = new JPanel(new BorderLayout());
previousSemesterInstructions.add(new JLabel("Previous Semesters:"), BorderLayout.WEST);
dataEntryPanel.add(previousSemesterInstructions);
JPanel semesterOnePanel = new JPanel(new FlowLayout());
semesterOnePanel.add(new JLabel("Semester 1:"));
semesterOnePanel.add(new JLabel(" GPA:"));
semesterGPA = new JTextField(4);
semesterOnePanel.add(semesterGPA);
//semesterGPA.addActionListener(new SemesterGPAListener());
semesterOnePanel.add(new JLabel("Credits:"));
semesterCredits = new JTextField(2);
semesterOnePanel.add(semesterCredits);
//semesterCredits.addActionListener(new SemesterCreditsListener());
dataEntryPanel.add(semesterOnePanel);
JPanel semesterTwoPanel = new JPanel(new FlowLayout());
semesterTwoPanel.add(new JLabel("Semester 2:"));
semesterTwoPanel.add(new JLabel(" GPA:"));
semesterGPA = new JTextField(4);
semesterTwoPanel.add(semesterGPA);
//semesterGPA.addActionListener(new SemesterGPAListener());
semesterTwoPanel.add(new JLabel("Credits:"));
semesterCredits = new JTextField(2);
semesterTwoPanel.add(semesterCredits);
//semesterCredits.addActionListener(new SemesterCreditsListener());
dataEntryPanel.add(semesterTwoPanel);
答案 0 :(得分:0)
创建一个类或可能的方法(函数),它接受一个参数来创建一个新的JPanel。 使用frameObject.setContentPane(panelObject) 根据您的要求将该面板添加到框架