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

📄 font2dtest.java

📁 These instructions assume that the 1.4 versions of the java and appletviewer commands are in your p
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
            /// Parse all options            boolean displayGridOpt = new Boolean( perLine.nextToken() ).booleanValue();            boolean force16ColsOpt = new Boolean( perLine.nextToken() ).booleanValue();            boolean showFontInfoOpt = new Boolean( perLine.nextToken() ).booleanValue();            String rangeNameOpt = perLine.nextToken();            int rangeStartOpt = Integer.parseInt( perLine.nextToken() );            int rangeEndOpt = Integer.parseInt( perLine.nextToken() );            String fontNameOpt = perLine.nextToken();            int fontSizeOpt = Integer.parseInt( perLine.nextToken() );            int fontStyleOpt = Integer.parseInt( perLine.nextToken() );            int fontTransformOpt = Integer.parseInt( perLine.nextToken() );            int g2TransformOpt = Integer.parseInt( perLine.nextToken() );            int textToUseOpt = Integer.parseInt( perLine.nextToken() );            int drawMethodOpt = Integer.parseInt( perLine.nextToken() );            boolean useAntialiasOpt = new Boolean( perLine.nextToken() ).booleanValue();            boolean useFractionalOpt = new Boolean( perLine.nextToken() ).booleanValue();            String userTextOpt[] = { "Java2D!" }, dialogEntry = "Java2D!";	               if (textToUseOpt == fp.USER_TEXT )  {                int numLines = perLine.countTokens(), lineNumber = 0;                if ( numLines != 0 ) {                    userTextOpt = new String[ numLines ];                    dialogEntry = "";                    for ( ; perLine.hasMoreElements(); lineNumber++ ) {                        userTextOpt[ lineNumber ] = perLine.nextToken();                        dialogEntry += userTextOpt[ lineNumber ] + "\n";                    }                }	    }			            /// Reset GUIs            displayGridCBMI.setState( displayGridOpt );            force16ColsCBMI.setState( force16ColsOpt );            showFontInfoCBMI.setState( showFontInfoOpt );            rm.setSelectedRange( rangeNameOpt, rangeStartOpt, rangeEndOpt );            fontMenu.setSelectedItem( fontNameOpt );            sizeField.setText( String.valueOf( fontSizeOpt ));            styleMenu.setSelectedIndex( fontStyleOpt );            transformMenu.setSelectedIndex( fontTransformOpt );            transformMenuG2.setSelectedIndex( g2TransformOpt );            textMenu.setSelectedIndex( textToUseOpt );            methodsMenu.setSelectedIndex( drawMethodOpt );            useAntialiasCB.setSelected( useAntialiasOpt );            useFractionalCB.setSelected( useFractionalOpt );	              userTextArea.setText( dialogEntry );            updateGUI();	    if ( textToUseOpt == fp.FILE_TEXT ) {	      tFileName = perLine.nextToken();	      readTextFile(tFileName );            }            /// Reset option variables and repaint            fp.loadOptions( displayGridOpt, force16ColsOpt, rangeStartOpt, rangeEndOpt,                            fontNameOpt, fontSizeOpt, fontStyleOpt, fontTransformOpt, g2TransformOpt,                            textToUseOpt, drawMethodOpt, useAntialiasOpt,                            useFractionalOpt, userTextOpt );            if ( showFontInfoOpt ) {                fireUpdateFontInfo();                fontInfoDialog.show();            }            else              fontInfoDialog.hide();        }        catch ( Exception ex ) {            fireChangeStatus( "ERROR: Failed to Load Options File; See Stack Trace", true );            ex.printStackTrace();        }    }    /// Loads a previously saved image     private void loadComparisonJPEG( String fileName ) {        try {            BufferedInputStream bis =              new BufferedInputStream( new FileInputStream( fileName ));            JPEGImageDecoder jid = JPEGCodec.createJPEGDecoder( bis );            BufferedImage image = jid.decodeAsBufferedImage();            bis.close();            JFrame f = new JFrame( "Comparison JPEG" );            ImagePanel ip = new ImagePanel( image );            f.setResizable( false );            f.getContentPane().add( ip );            f.addWindowListener( new WindowAdapter() {                public void windowClosing( WindowEvent e ) {                    ( (JFrame) e.getSource() ).dispose();                }            });            f.pack();            f.show();        }        catch ( Exception ex ) {            fireChangeStatus( "ERROR: Failed to Load JPEG File; See Stack Trace", true );            ex.printStackTrace();        }    }    /// Interface functions...    /// ActionListener interface function    /// Responds to JMenuItem, JTextField and JButton actions    public void actionPerformed( ActionEvent e ) {        Object source = e.getSource();        if ( source instanceof JMenuItem ) {            JMenuItem mi = (JMenuItem) source;            String itemName = mi.getLabel();            if ( itemName.equals( "Save Selected Options..." )) {                String fileName = promptFile( true, "options.txt" );                if ( fileName != null )                  writeCurrentOptions( fileName );            }            else if ( itemName.equals( "Load Options..." )) {                String fileName = promptFile( false, "options.txt" );                if ( fileName != null )                  loadOptions( fileName );            }            else if ( itemName.equals( "Save as JPEG..." )) {                String fileName = promptFile( true, fontMenu.getSelectedItem() + ".jpeg" );                if ( fileName != null )                  fp.doSaveJPEG( fileName );            }            else if ( itemName.equals( "Load JPEG File to Compare..." )) {                String fileName = promptFile( false, null );                if ( fileName != null )                  loadComparisonJPEG( fileName );            }            else if ( itemName.equals( "Page Setup..." ))              fp.doPageSetup();            else if ( itemName.equals( "Print..." ))              printDialog.show();            else if ( itemName.equals( "Close" ))              parent.dispose();            else if ( itemName.equals( "Exit" ))              System.exit(0);        }        else if ( source instanceof JTextField ) {            JTextField tf = (JTextField) source;            int sz = 12;            try {                 sz = Integer.parseInt(sizeField.getText());                 if (sz < 1 || sz > 120) {                      sz = 12;                      sizeField.setText("12");                 }            } catch (Exception se) {                 sizeField.setText("12");            }            if ( tf == sizeField )              fp.setFontParams( fontMenu.getSelectedItem(),                                sz,                                styleMenu.getSelectedIndex(),                                transformMenu.getSelectedIndex() );        }        else if ( source instanceof JButton ) {            String itemName = ( (JButton) source ).getLabel();            /// Print dialog buttons...            if ( itemName.equals( "Print" )) {                for ( int i = 0; i < printModeCBs.length; i++ )                  if ( printModeCBs[i].isSelected() ) {                      printDialog.hide();                      fp.doPrint( i );                  }            }            else if ( itemName.equals( "Cancel" ))              printDialog.hide();            /// Update button from Usert Text JDialog...            else if ( itemName.equals( "Update" ))              fp.setTextToDraw( fp.USER_TEXT, null,                                parseUserText( userTextArea.getText() ), null );        }        else if ( source instanceof JComboBox ) {            JComboBox c = (JComboBox) source;                        /// RangeMenu handles actions by itself and then calls fireRangeChanged,            /// so it is not listed or handled here            if ( c == fontMenu || c == styleMenu || c == transformMenu )              fp.setFontParams( fontMenu.getSelectedItem(),                                Integer.parseInt(sizeField.getText()),                                styleMenu.getSelectedIndex(),                                transformMenu.getSelectedIndex() );            else if ( c == methodsMenu )              fp.setDrawMethod( methodsMenu.getSelectedIndex() );            else if ( c == textMenu ) {                int selected = textMenu.getSelectedIndex();                if ( selected == fp.RANGE_TEXT )                  fp.setTextToDraw( fp.RANGE_TEXT, rm.getSelectedRange(),                                    null, null );                else if ( selected == fp.USER_TEXT )                  fp.setTextToDraw( fp.USER_TEXT, null,                                    parseUserText( userTextArea.getText() ), null );                else if ( selected == fp.FILE_TEXT ) {                    String fileName = promptFile( false, null );                    if ( fileName != null ) {		      tFileName = fileName;		      readTextFile( fileName );		    } else {                        /// User cancelled selection; reset to previous choice                        c.setSelectedIndex( currentTextChoice );                        return;                    }                }                else if ( selected == fp.ALL_GLYPHS )                  fp.setTextToDraw( fp.ALL_GLYPHS, null, null, null );                updateGUI();                currentTextChoice = selected;            }            else if ( c == transformMenuG2 ) {            	fp.setTransformG2( transformMenuG2.getSelectedIndex() );            }        }    }    /// ItemListener interface function    /// Responds to JCheckBoxMenuItem, JComboBox and JCheckBox actions    public void itemStateChanged( ItemEvent e ) {        Object source = e.getSource();        if ( source instanceof JCheckBoxMenuItem ) {            JCheckBoxMenuItem cbmi = (JCheckBoxMenuItem) source;            if ( cbmi == displayGridCBMI )              fp.setGridDisplay( displayGridCBMI.getState() );            else if ( cbmi == force16ColsCBMI )              fp.setForce16Columns( force16ColsCBMI.getState() );            else if ( cbmi == showFontInfoCBMI ) {                if ( showFontInfoCBMI.getState() ) {                    fireUpdateFontInfo();                    fontInfoDialog.show();                }                else                  fontInfoDialog.hide();            }        }        else if ( source instanceof JCheckBox ) {            fp.setRenderingHints( useAntialiasCB.isSelected(),                                  useFractionalCB.isSelected() );        }    }    /// Main function    public static void main(String argv[]) {        final JFrame f = new JFrame( "Font2DTest" );        final Font2DTest f2dt = new Font2DTest( f, false );        f.addWindowListener( new WindowAdapter() {            public void windowOpening( WindowEvent e ) { f2dt.repaint(); }            public void windowClosing( WindowEvent e ) { System.exit(0); }        });        f.getContentPane().add( f2dt );        f.pack();        f.show();    }    /// Inner class definitions...    /// Class to display just an image file    /// Used to show the comparison JPEG image    private final class ImagePanel extends JPanel {        private final BufferedImage bi;                public ImagePanel( BufferedImage image ) {            bi = image;        }        public Dimension getPreferredSize() {            return new Dimension( bi.getWidth(), bi.getHeight() );        }        public void paintComponent( Graphics g ) {            g.drawImage( bi, 0, 0, this );        }    }    /// Classes made to avoid repetitive calls... (being lazy)    private final class ButtonV2 extends JButton {        public ButtonV2( String name, ActionListener al ) {            super( name );            this.setFont( labelFont );            this.addActionListener( al );        }    }    private final class ChoiceV2 extends JComboBox {	public ChoiceV2() {;}        public ChoiceV2( ActionListener al ) {            super();            this.addActionListener( al );        }    }    private final class LabelV2 extends JLabel {        public LabelV2( String name ) {            super( name );            this.setFont( labelFont );        }    }    private final class MenuItemV2 extends JMenuItem {        public MenuItemV2( String name, ActionListener al ) {            super( name );            this.addActionListener( al );        }    }    private final class CheckboxMenuItemV2 extends JCheckBoxMenuItem {        public CheckboxMenuItemV2( String name, boolean b, ItemListener il ) {            super( name, b );            this.addItemListener( il );        }    }}

⌨️ 快捷键说明

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