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

📄 labeledtextfield.java

📁 fortran并行计算包
💻 JAVA
字号:
/* *  (C) 2001 by Argonne National Laboratory *      See COPYRIGHT in top-level directory. *//* *  @author  Anthony Chan */package viewer.common;import java.text.NumberFormat;import java.text.DecimalFormat;import java.text.ParseException;import java.awt.Font;import java.awt.Dimension;import java.awt.Component;import java.awt.event.ActionListener;import javax.swing.event.DocumentEvent;import javax.swing.event.DocumentListener;import javax.swing.text.Document;import javax.swing.text.BadLocationException;import javax.swing.*;public class LabeledTextField extends JPanel{    private   static final   int     TEXT_HEIGHT = 20;    protected static         Font    FONT        = null;    private   JLabel                 tag;    private   ActableTextField       fld;    protected DecimalFormat          fmt;    // private int                    preferred_height;    private FieldDocumentListener  self_listener;    public LabeledTextField( String label, String format )    {        this( false, label, format );    }    public LabeledTextField( boolean isIndentedLabel,                             String label, String format )    {        super();        super.setLayout( new BoxLayout( this, BoxLayout.Y_AXIS ) );        tag = new JLabel( label );        if ( isIndentedLabel ) {            JPanel tag_panel = new JPanel();            tag_panel.setLayout( new BoxLayout( tag_panel, BoxLayout.X_AXIS ) );            tag_panel.add( Box.createHorizontalStrut(                               Const.LABEL_INDENTATION ) );            tag_panel.add( tag );            tag_panel.add( Box.createHorizontalGlue() );            tag_panel.setAlignmentX( Component.LEFT_ALIGNMENT );            super.add( tag_panel );        }        else {            tag.setAlignmentX( Component.LEFT_ALIGNMENT );            super.add( tag );        }        fld = new ActableTextField();        tag.setLabelFor( fld );        fld.setAlignmentX( Component.LEFT_ALIGNMENT );        super.add( fld );        // preferred_height = fld.getPreferredSize().height + this.TEXT_HEIGHT;        if ( format != null ) {            int  num_col;            fmt = (DecimalFormat) NumberFormat.getInstance();            fmt.applyPattern( format );            num_col = Routines.getAdjNumOfTextColumns( fld, format.length() );            fld.setColumns( num_col );        }        else            fmt = null;        /*  No self DocumentListener by default  */        self_listener = null;        // tag.setBorder( BorderFactory.createEtchedBorder() );        fld.setBorder( BorderFactory.createEtchedBorder() );        if ( FONT != null ) {            tag.setFont( FONT );            fld.setFont( FONT );        }    }    public static void setDefaultFont( Font font )    {        FONT = font;    }    public void setLabelFont( Font font )    {        tag.setFont( font );    }    public void setFieldFont( Font font )    {        fld.setFont( font );    }    public void setHorizontalAlignment( int alignment )    {        fld.setHorizontalAlignment( alignment );    }    public void setText( String str )    {        fld.setText( str );    }    public String getText()    {        if ( self_listener != null )            return self_listener.getLastUpdatedText();        else            return fld.getText();    }    public void setBoolean( boolean bval )    {        fld.setText( String.valueOf( bval ) );    }    public boolean getBoolean()    {        String  bool_str = null;        if ( self_listener != null )            bool_str = self_listener.getLastUpdatedText();        else            bool_str = fld.getText();        return    bool_str.equalsIgnoreCase( "true" )               || bool_str.equalsIgnoreCase( "yes" );    }    public void setShort( short sval )    {        fld.setText( fmt.format( sval ) );    }    public short getShort()    {        String  short_str = null;        if ( self_listener != null )            short_str = self_listener.getLastUpdatedText();        else            short_str = fld.getText();        try {            return fmt.parse( short_str ).shortValue();        } catch ( ParseException perr ) {            perr.printStackTrace();            return Short.MIN_VALUE;        }    }    public void setInteger( int ival )    {        // fld.setText( Integer.toString( ival ) );        fld.setText( fmt.format( ival ) );    }    public int getInteger()    {        String  int_str = null;        if ( self_listener != null )            int_str = self_listener.getLastUpdatedText();        else            int_str = fld.getText();        try {            return fmt.parse( int_str ).intValue();        } catch ( ParseException perr ) {            perr.printStackTrace();            return Integer.MIN_VALUE;        }    }    public void setFloat( float fval )    {        fld.setText( fmt.format( fval ) );    }    public float getFloat()    {        String  float_str = null;        if ( self_listener != null )            float_str = self_listener.getLastUpdatedText();        else            float_str = fld.getText();        try {            return fmt.parse( float_str ).floatValue();        } catch ( ParseException perr ) {            perr.printStackTrace();            return Float.MIN_VALUE;        }    }    public void setDouble( double dval )    {        fld.setText( fmt.format( dval ) );    }    public double getDouble()    {        String  double_str = null;        if ( self_listener != null )            double_str = self_listener.getLastUpdatedText();        else            double_str = fld.getText();        try {            return fmt.parse( double_str ).doubleValue();        } catch ( ParseException perr ) {            perr.printStackTrace();            return Double.MIN_VALUE;        }    }    public void setEditable( boolean flag )    {        fld.setEditable( flag );    }    public void setEnabled( boolean flag )    {        fld.setEnabled( flag );    }    public void addActionListener( ActionListener listener )    {        fld.addActionListener( listener );    }    public void addSelfDocumentListener()    {        self_listener = new FieldDocumentListener();        fld.getDocument().addDocumentListener( self_listener );        }    // BoxLayout respects component's maximum size    public Dimension getMaximumSize()    {        // return new Dimension( Short.MAX_VALUE, preferred_height );        return new Dimension( Short.MAX_VALUE,                               fld.getPreferredSize().height                            + this.TEXT_HEIGHT );    }    public void fireActionPerformed()    {        fld.fireActionPerformed();    }    /*  DocumentListener Interface  */    private class FieldDocumentListener implements DocumentListener    {        private Document            last_updated_document;        public FieldDocumentListener()        {            last_updated_document  = null;        }        public void changedUpdate( DocumentEvent evt )        {            last_updated_document = evt.getDocument();        }        public void insertUpdate( DocumentEvent evt )        {            last_updated_document = evt.getDocument();        }        public void removeUpdate( DocumentEvent evt )        {            last_updated_document = evt.getDocument();        }        public String getLastUpdatedText()        {            if ( last_updated_document != null ) {                try {                    return last_updated_document.getText( 0,                           last_updated_document.getLength() );                } catch ( BadLocationException err ) {                    return null;                }            }            return null;        }    }}

⌨️ 快捷键说明

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