📄 xmltextpanel.java
字号:
package org.enhydra.jawe.base.panel.panels;import java.awt.Color;import java.awt.Component;import java.awt.Dimension;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import javax.swing.Box;import javax.swing.JLabel;import javax.swing.JPasswordField;import javax.swing.JTextField;import javax.swing.SwingConstants;import org.enhydra.jawe.ResourceManager;import org.enhydra.jawe.Settings;import org.enhydra.jawe.base.panel.PanelContainer;import org.enhydra.jawe.base.panel.PanelSettings;import org.enhydra.shark.xpdl.XMLElement;/*** Creates panel with JLabel and JTextField.* @author Sasa Bojanic*/public class XMLTextPanel extends XMLBasicPanel { protected JLabel jl; protected JTextField jtf; public XMLTextPanel ( PanelContainer pc, XMLElement myOwnerL, boolean isVertical, boolean isPasswordField, boolean isEnabled) { this(pc, myOwnerL, null, isVertical, isPasswordField, isEnabled); } public XMLTextPanel ( PanelContainer pc, XMLElement myOwnerL, String label, boolean isVertical, boolean isPasswordField, boolean isEnabled) { super(pc,myOwnerL,"",isVertical,false,true); boolean rightAllignment=false; Dimension textDim=new Dimension(250, 20); Color bkgCol=new Color(245,245,245); if (pc!=null) { Settings settings=pc.getSettings(); rightAllignment = settings.getSettingBoolean("XMLBasicPanel.RightAllignment"); textDim=new Dimension( settings.getSettingInt("SimplePanelTextWidth"), settings.getSettingInt("SimplePanelTextHeight")); if (settings instanceof PanelSettings) { bkgCol=((PanelSettings)settings).getBackgroundColor(); } } if (label==null) { if (pc!=null) { label=pc.getLabelGenerator().getLabel(myOwner); } else { label=ResourceManager.getLanguageDependentString(myOwner.toName()+"Key"); } } jl=new JLabel(label+": " ); jl.setAlignmentX(Component.LEFT_ALIGNMENT); jl.setAlignmentY(Component.BOTTOM_ALIGNMENT); if (rightAllignment) { jl.setHorizontalAlignment(SwingConstants.RIGHT); } else { jl.setHorizontalAlignment(SwingConstants.LEFT); } if (!isPasswordField) { jtf=new JTextField(); } else { jtf=new JPasswordField(); } jtf.setText(myOwner.toValue()); jtf.setAlignmentX(Component.LEFT_ALIGNMENT); jtf.setAlignmentY(Component.BOTTOM_ALIGNMENT); jtf.setMinimumSize(new Dimension(textDim)); jtf.setMaximumSize(new Dimension(textDim)); jtf.setPreferredSize(new Dimension(textDim)); jtf.setEnabled( isEnabled ); jtf.setBackground(bkgCol); if (rightAllignment && !isVertical) { add(Box.createHorizontalGlue()); } add(jl); if (!rightAllignment && !isVertical) { //add(Box.createRigidArea(new Dimension(200-jl.getPreferredSize().width,1))); add(Box.createHorizontalGlue()); } add(jtf); final XMLPanel p=this; //add key listener jtf.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { if (getPanelContainer()==null) return; if (PanelUtilities.isModifyingEvent(e)) { getPanelContainer().panelChanged(p, e); } } }); } public boolean validateEntry () { if (isEmpty() && getOwner().isRequired() && !getOwner().isReadOnly()) { XMLBasicPanel.defaultErrorMessage(this.getWindow(),jl.getText()); jtf.requestFocus(); return false; } return true; } public boolean isEmpty () { return getText().trim().equals(""); } public void setElements () { if (!getOwner().isReadOnly()) { getOwner().setValue(getText().trim()); } } public String getText () { return jtf.getText(); } public Object getValue () { return getText(); } public void requestFocus () { jtf.requestFocus(); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -