@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LinearLayout mLayout = (LinearLayout) findViewById(R.id.buttonLayout); for (DemoClassDescription demo : mDemos) { DemoButton btn = new DemoButton(this); btn.setDemo(demo); mLayout.addView(btn); } // 第二个参数根据自身需要设置, 将作为 loadImage 第二个参数回传 CGENativeLibrary.setLoadImageCallback(loadImageCallback, null); }
public void actionPerformed(ActionEvent event) { DemoButton demoButton = (DemoButton) event.getSource(); setSelectedDemo(demoButton.getDemo()); }
protected JComponent createDemoSelector(List<Demo> demoSet) { JPanel selectorPanel = new JPanel(); GridBagLayout gridbag = new GridBagLayout(); selectorPanel.setLayout(gridbag); GridBagConstraints c = new GridBagConstraints(); c.gridx = c.gridy = 0; c.fill = GridBagConstraints.HORIZONTAL; c.weightx = 1; HashMap<String, JPanel> categoryMap = new HashMap<String, JPanel>(); GridBagLayout categoryGridbag = null; GridBagConstraints cc = new GridBagConstraints(); cc.gridx = cc.gridy = 0; cc.weightx = 1; cc.fill = GridBagConstraints.HORIZONTAL; CollapsiblePanel collapsePanel; for (Demo demo : demoSet) { String category = demo.getCategory(); demo.setLoginInfor(args[0], args[1], args[2]); LoginDAL lgDal = new LoginDAL(); int adRole = Integer.parseInt(args[2]); /////////////////////////////////////////////// Show Courier Chung/////////////////////////// if (demo.getName().equals("View Courier")) { JPanel categoryPanel = categoryMap.get(category); if (categoryPanel == null) { // Create category collapsible panel categoryPanel = new JPanel(); categoryGridbag = new GridBagLayout(); categoryPanel.setLayout(categoryGridbag); collapsePanel = new CollapsiblePanel(categoryPanel, category, "click to expand or contract category"); collapsePanels.add(collapsePanel); collapsePanel.setBorder(categoryBorder); categoryMap.put(category, categoryPanel); gridbag.addLayoutComponent(collapsePanel, c); selectorPanel.add(collapsePanel); c.gridy++; } DemoButton demoButton = new DemoButton(demo); categoryGridbag.addLayoutComponent(demoButton, cc); cc.gridy++; group.add(demoButton); categoryPanel.add(demoButton); if (buttonHeight == 0) { buttonHeight = demoButton.getPreferredSize().height; } } ///////////////////////////////////////////////////////////////////////////////////////////// if (adRole == 0) { int depRole = lgDal.getDepartmentRole(Integer.parseInt(args[0])); if (depRole == 1) { if (demo.getName().equals("Receiving-Returning")) { JPanel categoryPanel = categoryMap.get(category); if (categoryPanel == null) { // Create category collapsible panel categoryPanel = new JPanel(); categoryGridbag = new GridBagLayout(); categoryPanel.setLayout(categoryGridbag); collapsePanel = new CollapsiblePanel( categoryPanel, category, "click to expand or contract category"); collapsePanels.add(collapsePanel); collapsePanel.setBorder(categoryBorder); categoryMap.put(category, categoryPanel); gridbag.addLayoutComponent(collapsePanel, c); selectorPanel.add(collapsePanel); c.gridy++; } DemoButton demoButton = new DemoButton(demo); categoryGridbag.addLayoutComponent(demoButton, cc); cc.gridy++; group.add(demoButton); categoryPanel.add(demoButton); if (buttonHeight == 0) { buttonHeight = demoButton.getPreferredSize().height; } } } else if (depRole == 2) { if (demo.getName().equals("Despatching")) { JPanel categoryPanel = categoryMap.get(category); if (categoryPanel == null) { // Create category collapsible panel categoryPanel = new JPanel(); categoryGridbag = new GridBagLayout(); categoryPanel.setLayout(categoryGridbag); collapsePanel = new CollapsiblePanel( categoryPanel, category, "click to expand or contract category"); collapsePanels.add(collapsePanel); collapsePanel.setBorder(categoryBorder); categoryMap.put(category, categoryPanel); gridbag.addLayoutComponent(collapsePanel, c); selectorPanel.add(collapsePanel); c.gridy++; } DemoButton demoButton = new DemoButton(demo); categoryGridbag.addLayoutComponent(demoButton, cc); cc.gridy++; group.add(demoButton); categoryPanel.add(demoButton); if (buttonHeight == 0) { buttonHeight = demoButton.getPreferredSize().height; } } } else if (depRole == 3) { if (demo.getName().equals("Storing")) { JPanel categoryPanel = categoryMap.get(category); if (categoryPanel == null) { // Create category collapsible panel categoryPanel = new JPanel(); categoryGridbag = new GridBagLayout(); categoryPanel.setLayout(categoryGridbag); collapsePanel = new CollapsiblePanel( categoryPanel, category, "click to expand or contract category"); collapsePanels.add(collapsePanel); collapsePanel.setBorder(categoryBorder); categoryMap.put(category, categoryPanel); gridbag.addLayoutComponent(collapsePanel, c); selectorPanel.add(collapsePanel); c.gridy++; } DemoButton demoButton = new DemoButton(demo); categoryGridbag.addLayoutComponent(demoButton, cc); cc.gridy++; group.add(demoButton); categoryPanel.add(demoButton); if (buttonHeight == 0) { buttonHeight = demoButton.getPreferredSize().height; } } } } else if (adRole == 1) { int depRole = lgDal.getDepartmentRoleOfAdministrator(Integer.parseInt(args[0])); if (depRole == 4) { if (demo.getName().equals("Department")) { JPanel categoryPanel = categoryMap.get(category); if (categoryPanel == null) { // Create category collapsible panel categoryPanel = new JPanel(); categoryGridbag = new GridBagLayout(); categoryPanel.setLayout(categoryGridbag); collapsePanel = new CollapsiblePanel( categoryPanel, category, "click to expand or contract category"); collapsePanels.add(collapsePanel); collapsePanel.setBorder(categoryBorder); categoryMap.put(category, categoryPanel); gridbag.addLayoutComponent(collapsePanel, c); selectorPanel.add(collapsePanel); c.gridy++; } DemoButton demoButton = new DemoButton(demo); categoryGridbag.addLayoutComponent(demoButton, cc); cc.gridy++; group.add(demoButton); categoryPanel.add(demoButton); if (buttonHeight == 0) { buttonHeight = demoButton.getPreferredSize().height; } } if (demo.getName().equals("Employee")) { JPanel categoryPanel = categoryMap.get(category); if (categoryPanel == null) { // Create category collapsible panel categoryPanel = new JPanel(); categoryGridbag = new GridBagLayout(); categoryPanel.setLayout(categoryGridbag); collapsePanel = new CollapsiblePanel( categoryPanel, category, "click to expand or contract category"); collapsePanels.add(collapsePanel); collapsePanel.setBorder(categoryBorder); categoryMap.put(category, categoryPanel); gridbag.addLayoutComponent(collapsePanel, c); selectorPanel.add(collapsePanel); c.gridy++; } DemoButton demoButton = new DemoButton(demo); categoryGridbag.addLayoutComponent(demoButton, cc); cc.gridy++; group.add(demoButton); categoryPanel.add(demoButton); if (buttonHeight == 0) { buttonHeight = demoButton.getPreferredSize().height; } } if (demo.getName().equals("Calculation")) { JPanel categoryPanel = categoryMap.get(category); if (categoryPanel == null) { // Create category collapsible panel categoryPanel = new JPanel(); categoryGridbag = new GridBagLayout(); categoryPanel.setLayout(categoryGridbag); collapsePanel = new CollapsiblePanel( categoryPanel, category, "click to expand or contract category"); collapsePanels.add(collapsePanel); collapsePanel.setBorder(categoryBorder); categoryMap.put(category, categoryPanel); gridbag.addLayoutComponent(collapsePanel, c); selectorPanel.add(collapsePanel); c.gridy++; } DemoButton demoButton = new DemoButton(demo); categoryGridbag.addLayoutComponent(demoButton, cc); cc.gridy++; group.add(demoButton); categoryPanel.add(demoButton); if (buttonHeight == 0) { buttonHeight = demoButton.getPreferredSize().height; } } } } } // add empty component to take up any extra room on bottom JPanel trailer = new JPanel(); c.weighty = 1.0; gridbag.addLayoutComponent(trailer, c); selectorPanel.add(trailer); applyDefaults(); return selectorPanel; }