⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlcheckboxpanel.java

📁 jawe的最新版本,基于Java的图形化工作流编辑器。图形化工作流编辑器 。使用JAVA语言开发
💻 JAVA
字号:
package org.enhydra.jawe.base.panel.panels;import java.awt.Color;import java.awt.Component;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.util.List;import javax.swing.BorderFactory;import javax.swing.Box;import javax.swing.JCheckBox;import javax.swing.JLabel;import javax.swing.SwingConstants;import org.enhydra.jawe.Settings;import org.enhydra.jawe.base.panel.PanelContainer;import org.enhydra.jawe.base.panel.PanelSettings;import org.enhydra.shark.xpdl.XMLAttribute;import org.enhydra.shark.xpdl.XMLElement;/** * Creates a panel with a checkbox which represents a boolean value. *  * @author Harald Meister * @author Sasa Bojanic */public class XMLCheckboxPanel extends XMLBasicPanel {   protected JLabel jl;   protected JCheckBox jcb;   protected boolean considerUncheckedAsEmpty;   public XMLCheckboxPanel(PanelContainer pc,                           XMLElement myOwner,                           String title,                           boolean isVertical,                           boolean isEnabled,                           boolean considerUncheckedAsEmpty) {      super(pc, myOwner, "", isVertical, false, true);      this.considerUncheckedAsEmpty = considerUncheckedAsEmpty;      boolean rightAllignment = false;      Color bkgCol = new Color(245, 245, 245);      if (pc != null) {         Settings settings = pc.getSettings();         rightAllignment = settings.getSettingBoolean("XMLBasicPanel.RightAllignment");         if (settings instanceof PanelSettings) {            bkgCol = ((PanelSettings) settings).getBackgroundColor();         }      }      if (title != null && !title.equals("")) {         jl = new JLabel(title);      } else {         jl = new JLabel(pc.getLabelGenerator().getLabel(myOwner));      }      jl.setAlignmentX(Component.LEFT_ALIGNMENT);      jl.setAlignmentY(Component.BOTTOM_ALIGNMENT);      if (rightAllignment) {         jl.setHorizontalAlignment(SwingConstants.RIGHT);      } else {         jl.setHorizontalAlignment(SwingConstants.LEFT);      }      jcb = new JCheckBox();      jcb.setBorder(BorderFactory.createEmptyBorder());      // jcb.setSelected(new Boolean(myOwner.toValue()).booleanValue());      jcb.setSelected(setChoice());      jcb.setAlignmentX(Component.LEFT_ALIGNMENT);      jcb.setAlignmentY(Component.BOTTOM_ALIGNMENT);      jcb.setEnabled(isEnabled);      // jcb.setBackground(bkgCol);      final XMLPanel p = this;      jcb.addItemListener(new ItemListener() {         public void itemStateChanged(ItemEvent e) {            if (getPanelContainer() == null)               return;            getPanelContainer().panelChanged(p, e);         }      });      if (rightAllignment && !isVertical) {         add(Box.createHorizontalGlue());      }      if (isVertical) {         add(jl);         add(Box.createVerticalStrut(5));         add(jcb);      } else {         add(jcb);         add(new JLabel(" "));         add(jl);      }      if (!rightAllignment && !isVertical) {         add(Box.createHorizontalGlue());      }   }   public void setElements() {      if (getOwner() instanceof XMLAttribute          && ((XMLAttribute) getOwner()).getChoices() != null) {         List choices = ((XMLAttribute) getOwner()).getChoices();         if (jcb.isSelected()) {            getOwner().setValue((String) choices.get(0));         } else {            getOwner().setValue((String) choices.get(1));         }      } else {         if (jcb.isSelected()) {            getOwner().setValue("true");         } else {            getOwner().setValue("false");         }      }   }   public boolean setChoice() {      if (getOwner() instanceof XMLAttribute          && ((XMLAttribute) getOwner()).getChoices() != null) {         List choices = ((XMLAttribute) getOwner()).getChoices();         if (myOwner.toValue().equals(choices.get(0))) {            return true;         } else if (myOwner.toValue().equals(choices.get(1))) {            return false;         } else {            if (((XMLAttribute) myOwner).getDefaultChoiceIndex() == 0) {               return true;            }            return false;         }      } else {         return new Boolean(myOwner.toValue()).booleanValue();      }   }   public boolean getCheckboxStatus() {      return (jcb.isSelected());   }   public Object getValue() {      if (jcb.isSelected()) {         return "true";      }      return "false";   }   public boolean isEmpty() {      return considerUncheckedAsEmpty && !getCheckboxStatus();   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -