【发布时间】:2020-04-10 21:00:53
【问题描述】:
我的 Java JFrame 项目的组件有问题,删除了 JComboBox 在空间中使用的所有内容。
我的程序中的错误视频示例可以直观地查看here。
主要代码如下。您可以通过将 3 个面板替换为 random JCombobox(es) 并使用主类来调用它来复制它。
任何帮助将不胜感激。
package com.company;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class DisplayPage extends JFrame implements ActionListener {
EnterDetailsPage newRecord;
ViewMore viewMoreRecord;
ViewPage viewRecord;
JPanel contentPanel = new JPanel(new FlowLayout());
public DisplayPage(){
setLayout(new BorderLayout());
setSize(900, 600);
setTitle("Add Flight Details");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setPage(1);
MenuSection menuSection = new MenuSection();
//Add action listener to buttons
menuSection.addNewButton.addActionListener(this::addActionPerformed);
menuSection.updateButton.addActionListener(this::updateActionPerformed);
menuSection.viewButton.addActionListener(this::viewActionPerformed);
add("West", menuSection.getMainMenu());
add("Center", contentPanel);
setVisible(true);
}
public void setPage(int selection){
contentPanel.removeAll();
contentPanel.revalidate();
//contentPanel.repaint();
switch (selection) {
case 1:
newRecord = new EnterDetailsPage();
contentPanel = newRecord.getTotalPanel();
break;
case 2:
viewMoreRecord = new ViewMore();
contentPanel = viewMoreRecord.getViewMorePanel();
break;
case 3:
viewRecord = new ViewPage();
contentPanel = viewRecord.getUpdatePagePanel();
break;
}
add("Center", contentPanel);
}
public void actionPerformed(ActionEvent e){
}
public void addActionPerformed(ActionEvent e){
setPage(1);
}
public void updateActionPerformed(ActionEvent e){
setPage(2);
}
public void viewActionPerformed(ActionEvent e){
setPage(3);
}
}
【问题讨论】:
标签: java swing jframe jpanel jcombobox