Вы можете использовать эту технику. Я использую его для установки видимого, но вы также можете использовать его для создания.
Map<String,Frame> myFrames = new HashMap<String,Frame>();
buttonForFrameA.setActionCommand("FRAME_A");
buttonForFrameB.setActionCommand("FRAME_B");
myFrames.put("FRAME_A",aFrame);
myFrames.put("FRAME_B",bFrame);
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().startsWith("FRAME_") {
for(Frame frame : myFrames.values())
frame.setVisible(false);
Frame selectedFrame = myFrames.get(e.getActionCommand());
if(selectedFrame != null) selectedFrame.setVisible(true);
}