我是 Java Swing 的新手,我正在尝试创建一个应用程序。
我有一个 MainApplication.java 文件,它扩展了 SingleFrameApplication,我在其中创建了一个名为 MainPanel 的 JPanel。此 MainPanel 有一个 AnimatingSplitPane,其 VERTICAL_SPLIT 名为 SplitPane。
在 SplitPane 的顶部,我添加了另一个名为 MainContainer 的 JPanel。在 SplitPane 的底部,我添加了一个名为 FormContainer 的 JPanel。MainContainer 加载另一个名为 DataSheetTable 的类(具有 JTable 的 JPanel)。
现在,当用户单击 DataSheetTable 的单元格时,我想将表单加载到 FormContainer 中。我不知道,我怎样才能做到这一点。
例如,DatasheetTable 有 Column1、Column2 和 Column3。当用户单击 Column1 的任何单元格时,我需要将 Form1 显示到 FormContanier 中。如果它点击 Column2 单元格,那么我需要将 Form2 显示到 FormContanier 中。
请用一些示例代码告诉我,我怎样才能实现将表单动态加载到 FormContainer。
![先感谢您。]
这是 App.java 的示例代码
public class App extends SingleFrameApplication {
@Override protected void startup() {
configureDefaults();
View view = getMainView();
view.setComponent(createMainPanel());
show(view);
}
protected JComponent createMainPanel() {
// Create main panel with demo selection on left and demo/source on right
mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());
// Create splitpane on right to hold demo and source code
splitPane = new AnimatingSplitPane(JSplitPane.VERTICAL_SPLIT);
mainPanel.add(splitPane, BorderLayout.CENTER);
// Create panel to contain main panel
mainContainer = new JPanel();
splitPane.setTopComponent(mainContainer);
DataSheetTable dataSheetTable = new DataSheetTable();
mainContainer.add(dataSheetTable, BorderLayout.CENTER);
dataSheetTable.start();
formContainer = new JPanel(new BorderLayout());
splitPane.setBottomComponent(formContainer);
formContainer.add(new OrganizationForm());
return mainPanel;
}
}
这是 DataSheetTable.java 文件的示例代码
public class DataSheetTable extends JPanel {
........
controlPanel = createControlPanel();
add(controlPanel, BorderLayout.NORTH);
routingTable = new JTable(routingModel);
.........
}