package codeMaker;import codeMaker.impl.TablesQueryImpl;import constant.ChildWindowConstant;import constant.CodeConstant;import entity.DataSourceModel;import entity.Parameters;import entity.TableRelationModel;import javax.swing.*;import javax.swing.GroupLayout.Alignment;import javax.swing.LayoutStyle.ComponentPlacement;import java.awt.*;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/*** @author zrx*/public class TablesQuery {protected JFrame frame;protected JTextField currentModelName;protected JTextField currentModelName_cn;protected JTextField methodNameField;protected JTextField methodName_cnField;protected JTextField entityNameField;protected JTextField entityName_cnField;public JFrame getFrame() {return frame;}public void setFrame(JFrame frame) {this.frame = frame;}/*** Launch the application.*/public static void main(final Parameters parameters) {EventQueue.invokeLater(() -> {try {//获取当前数据源,设置相关信息String dataSourceName = parameters.getDataSourceName();DataSourceModel dataSourceModel = ChildWindowConstant.dataSourceModelMap.get(dataSourceName);ChildWindowConstant.tablesQueryMap = dataSourceModel.getTablesQueryMap();ChildWindowConstant.tablesQueryEndAndCnMap = dataSourceModel.getTablesQueryEndAndCnMap();TablesQuery window = TablesQueryImpl.getInstance();window.initialize(parameters);ChildWindowConstant.tablesQuery = window;window.frame.setVisible(true);JOptionPane.showMessageDialog(window.frame,"表1字段、表2字段:多个字段使用 & 隔开,字段个数保持一致" + CodeConstant.NEW_LINE + "类型描述:" + CodeConstant.NEW_LINE+ " 布尔示例:是#否 其中是和否填写数据库中用来表示是和否的值" + CodeConstant.NEW_LINE+ " 状态码示例:状态名称&状态值#状态名称&状态值(填写状态名称和状态值便于前台生成样式)" + CodeConstant.NEW_LINE+ " 其他类型将根据类型生成对应的样式,无需描述" + CodeConstant.NEW_LINE + "注意:关联表信息配置完点击确定才会生效!!!","提示", JOptionPane.INFORMATION_MESSAGE);} catch (Exception ignored) {}});}protected TablesQuery() {}/**** 狗杂函数* @param parameters*/protected TablesQuery(Parameters parameters) {initialize(parameters);}/*** Initialize the contents of the frame.*/private void initialize(Parameters parameters) {frame = new JFrame();frame.setResizable(true);frame.setIconImage(Toolkit.getDefaultToolkit().getImage(TablesQuery.class.getResource("/org/pushingpixels/substance/internal/contrib/randelshofer/quaqua/images/palette.png")));frame.setTitle("多表查询配置");frame.setBounds(100, 100, 1186, 831);frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);JScrollPane addTableScrollPane = new JScrollPane();JScrollPane queryScrollPane = new JScrollPane();JButton addTable = new JButton("添加关联表信息");JButton addQuery = new JButton("添加查询字段");JLabel label = new JLabel("当前模块英文名称");currentModelName = new JTextField();currentModelName.setColumns(10);JButton confirm = new JButton("确定");JLabel label_1 = new JLabel("查看已配置模块");JButton addCondition = new JButton("添加条件字段");addQuery.setEnabled(false);addCondition.setEnabled(false);JScrollPane conditionScrollPane = new JScrollPane();JButton restart = new JButton("清空重配");JComboBox<String> tableConfigExit = new JComboBox<>();String[] modelArr = ChildWindowConstant.tablesQueryMap.keySet().toArray(new String[]{});tableConfigExit.setModel(new DefaultComboBoxModel<>(new String[]{"--请选择--"}));for (String model : modelArr) {tableConfigExit.addItem(model);}JButton confirmRelTable = new JButton("确定");JLabel label_3 = new JLabel("———》");JLabel cnLable = new JLabel("中文名称");currentModelName_cn = new JTextField();currentModelName_cn.setColumns(10);JButton button = new JButton("配置说明");TablesQueryImpl.getInstance().setConfigIntroduceListener(button);JLabel label_2 = new JLabel("*");label_2.setForeground(Color.RED);JLabel methodNameLable = new JLabel("方法名");methodNameField = new JTextField();methodNameField.setColumns(10);JLabel lblNewLabel = new JLabel("*");lblNewLabel.setForeground(Color.RED);JLabel methodListLable = new JLabel("模块下方法");JComboBox<String> methodListCombox = new JComboBox<>();methodListCombox.setModel(new DefaultComboBoxModel<>(new String[]{"--请选择--"}));JLabel label_5 = new JLabel("方法中文名称");methodName_cnField = new JTextField();methodName_cnField.setColumns(10);JLabel label_4 = new JLabel("实体名称");entityNameField = new JTextField();entityNameField.setColumns(10);JLabel label_6 = new JLabel("实体中文名称");entityName_cnField = new JTextField();entityName_cnField.setColumns(10);JLabel label_7 = new JLabel("*");label_7.setForeground(Color.RED);JButton deleteTable = new JButton("删除尾行");JButton deleteQuery = new JButton("删除尾行");JButton deleteCondition = new JButton("删除尾行");JPanel conditionPanel = new JPanel();conditionScrollPane.setViewportView(conditionPanel);JPanel querysPanel = new JPanel();queryScrollPane.setViewportView(querysPanel);JPanel tablesPanel = new JPanel();addTableScrollPane.setViewportView(tablesPanel);tablesPanel.setLayout(new GridLayout(0, 5, 5, 5));querysPanel.setLayout(new GridLayout(0, 6, 5, 5));conditionPanel.setLayout(new GridLayout(0, 8, 5, 5));String[] tablesArr = new String[]{"关联关系", "表1", "表2", "表1字段", "表2字段"};String[] querysArr = new String[]{"表名", "字段", "中文名称", "字段类型", "类型描述", "是否可排序"};String[] conditionsArr = new String[]{"关联关系", "表名", "字段", "中文名称", "字段类型", "类型描述", "比较关系", "固定值"};List<TableRelationModel> tableRelationModelLists = new ArrayList<>();Map<String, String> tableMap = new HashMap<>();TablesQueryImpl.getInstance().setAddTableListener(addTable, addQuery, addCondition, tablesPanel, tablesArr);// 删除关联表尾行TablesQueryImpl.getInstance().setDeleteTableListener(deleteTable, tablesPanel);TablesQueryImpl.getInstance().setAddQueryListener(addQuery, querysPanel, querysArr, tableMap);TablesQueryImpl.getInstance().setDeleteQueryListener(deleteQuery, querysPanel);TablesQueryImpl.getInstance().setAddConditionListener(addCondition, conditionPanel, conditionsArr, tableMap);//删除条件字段TablesQueryImpl.getInstance().setDeleteConditionListener(deleteCondition, conditionPanel);TablesQueryImpl.getInstance().setRestartListener(restart, conditionPanel, querysPanel, tablesPanel);TablesQueryImpl.getInstance().setConfirmListener(parameters, addQuery, confirm, addCondition, tableConfigExit, methodListCombox, conditionPanel, querysPanel, tablesPanel, tableRelationModelLists, tableMap);TablesQueryImpl.getInstance().setConfirmRelTableListener(addQuery, addCondition, confirmRelTable, conditionPanel, querysPanel, tablesPanel, tableRelationModelLists, tableMap);// 配置模块下拉框监听TablesQueryImpl.getInstance().setTableConfigExitListener(tableConfigExit, methodListCombox, conditionPanel, querysPanel, tablesPanel);// 方法下拉框监听TablesQueryImpl.getInstance().setMethodComboxListener(tableConfigExit, methodListCombox, conditionPanel, querysPanel, tablesPanel, tablesArr, querysArr, conditionsArr);JButton delMethodBtn = new JButton("删除当前配置");// 删除当前模板监听TablesQueryImpl.getInstance().setDelMethodBtnListener(delMethodBtn, tableConfigExit, methodListCombox, conditionPanel, querysPanel, tablesPanel);//样式GroupLayout groupLayout = new GroupLayout(frame.getContentPane());groupLayout.setHorizontalGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addGap(25).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addComponent(addQuery).addPreferredGap(ComponentPlacement.RELATED).addComponent(deleteQuery)).addGroup(groupLayout.createSequentialGroup().addComponent(addTable).addPreferredGap(ComponentPlacement.RELATED).addComponent(deleteTable)).addGroup(groupLayout.createSequentialGroup().addPreferredGap(ComponentPlacement.RELATED).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false).addGroup(groupLayout.createSequentialGroup().addComponent(button).addPreferredGap(ComponentPlacement.UNRELATED).addComponent(restart).addPreferredGap(ComponentPlacement.UNRELATED).addComponent(confirm).addPreferredGap(ComponentPlacement.RELATED).addComponent(delMethodBtn, GroupLayout.PREFERRED_SIZE, 122, GroupLayout.PREFERRED_SIZE)).addGroup(groupLayout.createSequentialGroup().addGroup(groupLayout.createParallelGroup(Alignment.TRAILING, false).addComponent(queryScrollPane, Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 990, GroupLayout.PREFERRED_SIZE).addComponent(addTableScrollPane, Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 990, GroupLayout.PREFERRED_SIZE)).addPreferredGap(ComponentPlacement.RELATED).addComponent(label_3))).addPreferredGap(ComponentPlacement.RELATED).addComponent(confirmRelTable, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)).addGroup(groupLayout.createSequentialGroup().addComponent(conditionScrollPane, GroupLayout.PREFERRED_SIZE, 1065, GroupLayout.PREFERRED_SIZE).addPreferredGap(ComponentPlacement.RELATED)).addGroup(groupLayout.createSequentialGroup().addComponent(addCondition).addPreferredGap(ComponentPlacement.RELATED).addComponent(deleteCondition)))).addGroup(groupLayout.createSequentialGroup().addGroup(groupLayout.createParallelGroup(Alignment.TRAILING).addComponent(cnLable).addComponent(label)).addPreferredGap(ComponentPlacement.RELATED).addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false).addComponent(currentModelName).addComponent(currentModelName_cn, GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE)).addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false).addGroup(groupLayout.createSequentialGroup().addPreferredGap(ComponentPlacement.RELATED).addComponent(label_2).addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addComponent(methodNameLable)).addGroup(groupLayout.createSequentialGroup().addGap(35).addComponent(label_5))).addPreferredGap(ComponentPlacement.RELATED).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addComponent(methodNameField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addPreferredGap(ComponentPlacement.RELATED).addComponent(lblNewLabel)).addComponent(methodName_cnField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)).addGap(18).addGroup(groupLayout.createParallelGroup(Alignment.TRAILING).addGroup(groupLayout.createSequentialGroup().addComponent(label_4).addPreferredGap(ComponentPlacement.RELATED).addComponent(entityNameField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)).addGroup(groupLayout.createSequentialGroup().addComponent(label_6).addPreferredGap(ComponentPlacement.RELATED).addComponent(entityName_cnField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))).addPreferredGap(ComponentPlacement.RELATED).addGroup(groupLayout.createParallelGroup(Alignment.TRAILING).addGroup(groupLayout.createSequentialGroup().addComponent(label_7).addGap(18).addComponent(label_1)).addComponent(methodListLable)).addPreferredGap(ComponentPlacement.RELATED).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addComponent(methodListCombox, GroupLayout.PREFERRED_SIZE, 108, GroupLayout.PREFERRED_SIZE).addComponent(tableConfigExit, GroupLayout.PREFERRED_SIZE, 134, GroupLayout.PREFERRED_SIZE)))).addGap(42)));groupLayout.setVerticalGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addContainerGap().addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(label).addComponent(currentModelName, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addComponent(label_2).addComponent(methodNameLable).addComponent(methodNameField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addComponent(lblNewLabel).addComponent(entityNameField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addComponent(label_7).addComponent(label_4).addComponent(label_1).addComponent(tableConfigExit, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)).addGap(5).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(cnLable).addComponent(currentModelName_cn, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addComponent(label_5).addComponent(methodName_cnField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addComponent(label_6).addComponent(entityName_cnField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addComponent(methodListLable).addComponent(methodListCombox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addGap(18).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(addTable).addComponent(deleteTable)).addPreferredGap(ComponentPlacement.RELATED).addComponent(addTableScrollPane, GroupLayout.PREFERRED_SIZE, 138, GroupLayout.PREFERRED_SIZE).addGap(22).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(addQuery).addComponent(deleteQuery))).addGroup(groupLayout.createSequentialGroup().addGap(143).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(label_3).addComponent(confirmRelTable)))).addPreferredGap(ComponentPlacement.RELATED).addComponent(queryScrollPane, GroupLayout.PREFERRED_SIZE, 185, GroupLayout.PREFERRED_SIZE).addGap(22).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(addCondition).addComponent(deleteCondition)).addPreferredGap(ComponentPlacement.RELATED).addComponent(conditionScrollPane, GroupLayout.PREFERRED_SIZE, 139, GroupLayout.PREFERRED_SIZE).addPreferredGap(ComponentPlacement.UNRELATED).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(button).addComponent(restart).addComponent(confirm).addComponent(delMethodBtn)).addContainerGap()));frame.getContentPane().setLayout(groupLayout);}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. Open source ecosystem
2. Collaboration, People, Software
3. Evaluation model