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

📄 messageformatdemo.java

📁 帮助你系统进入JAVA的学习中来
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
      doFormatting();    } else if ((e.getSource() == choice1Num) ||(e.getSource() == choice2Num) ||	       (e.getSource() == choice3Num) ||(e.getSource() == choice4Num)) {      e.consume();      doFormatting();    } else if ((e.getSource() == arg1Text) ||(e.getSource() == arg2Text) ||	       (e.getSource() == arg3Text) ||(e.getSource() == arg4Text)) {      e.consume();      doFormatting();    } else if (e.getSource() == patternText) {      e.consume();      doFormatting();    }        }  public void keyTyped(KeyEvent e) {  }    /* Window Listener methods */  public void windowClosed(WindowEvent e) {  }  public void windowDeiconified(WindowEvent e) {  }  public void windowIconified(WindowEvent e) {  }  public void windowActivated(WindowEvent e) {  }  public void windowDeactivated(WindowEvent e) {  }  public void windowOpened(WindowEvent e) {  }  public void windowClosing(WindowEvent e) {    setVisible(false);    dispose();    if (applet != null) {      applet.demoClosed();    } else System.exit(0);  }    //------------------------------------------------------------    // package private    //------------------------------------------------------------    double doubleValue(String s) {        try {            return Double.valueOf(s).doubleValue();        } catch (Exception foo) {            return Double.POSITIVE_INFINITY;        }    }    void constrainedAdd(GridBagConstraints c,                        Container container,                        Component foo,                        Font font) {        GridBagLayout gridbag = (GridBagLayout)container.getLayout();        if (font != null)            foo.setFont(font);        gridbag.setConstraints(foo, c);        container.add(foo);    }    Choice cloneChoice (Choice source) {        Choice result = new Choice();        for (int i = 0; i < source.getItemCount(); ++i)            result.addItem(source.getItem(i));        result.setFont(source.getFont());        return result;    }    void addWithFont(Container container, Component foo, Font font) {        if (font != null)            foo.setFont(font);        container.add(foo);    }    //{{DECLARE_CONTROLS    Label label1;    Label label2;    TextField patternText;    Label label3;    Label label4;    Label label5;    Label labelArg;    Label labelForm;    TextField arg1Text;    TextField arg2Text;    TextField arg3Text;    Choice arg1Type;    Choice arg2Type;    Choice arg3Type;    Label label6;    Choice localeMenu;    Label localeLabel;    Label label13;    Label label14;    TextField resultText;    Label label7;    Label label8;    Label label9;    TextField choice1Num;    TextField choice2Num;    TextField choice3Num;    TextField choice4Num;    TextField choice1Text;    TextField choice2Text;    TextField choice3Text;    TextField choice4Text;    Label label10;    Label label11;    Label label12;    TextField arg4Text;    Choice arg4Type;    //}}    //------------------------------------------------------------    // private    //------------------------------------------------------------    private void buildGUI() {        //{{INIT_CONTROLS        setLayout(new FlowLayout(FlowLayout.CENTER,2,2));   // MD 8/7        setBackground(Color.white); // MD 8/7        // Main Title        Panel titleCreditPanel = new Panel();        label6=new Label("Message Format Demo", Label.CENTER);        label6.setFont(Utility.titleFont);        titleCreditPanel.add(label6);        Panel creditPanel = new Panel();        label13=new Label(creditString);        label13.setFont(Utility.creditFont);        creditPanel.add(label13);        titleCreditPanel.add(creditPanel);        Utility.fixGrid(titleCreditPanel,1);        // result text        Panel patternResultPanel = new Panel();        addWithFont(patternResultPanel,new            Label("Result", Label.RIGHT),Utility.labelFont);        addWithFont(patternResultPanel,resultText= new            TextField(FIELD_COLUMNS),Utility.editFont);        addWithFont(patternResultPanel,new            Label("Pattern", Label.RIGHT),Utility.labelFont);        addWithFont(patternResultPanel,patternText=new            TextField(FIELD_COLUMNS),Utility.editFont);	patternText.addKeyListener(this);        Utility.fixGrid(patternResultPanel,2);        // Locale and credits        Panel localeCreditPanel = new Panel();        // localeCreditPanel.setLayout(new GridBagLayout());        localeLabel=new Label("Locale:",Label.LEFT);        localeLabel.setFont(Utility.labelFont);        //localeCreditPanel.add("loc",localeLabel);        // LOCALE        localeMenu= new Choice();	localeMenu.addItemListener(this);        // Stick the names of the locales into the locale popup menu        Locale displayLocale = Locale.getDefault();        for (int i = 0; i < locales.length; i++) {            if (locales[i].getCountry().length() > 0) {                localeMenu.addItem( locales[i].getDisplayName() );                if (locales[i].equals(Locale.getDefault())) {                    localeMenu.select(i);                }            }        }           localeMenu.setFont(Utility.choiceFont);        Panel localePanel=new Panel();        localePanel.add(localeLabel);        localePanel.add(localeMenu);        localeCreditPanel.add(localePanel);        arg1Type= new Choice();           arg1Type.setFont(Utility.choiceFont);        arg1Type.addItem("Number");        arg1Type.addItem("Date");        arg1Type.addItem("Choice");        arg1Type.addItem("None");	arg1Type.addItemListener(this);        // PUT THE ARGUMENTS/ FORMATS into GRID        Panel allArgs = new Panel();        addWithFont(allArgs,new Label(" "),Utility.labelFont);        addWithFont(allArgs,new Label("Arguments", Label.LEFT),                                      Utility.labelFont);        addWithFont(allArgs,new Label("0",Label.RIGHT),Utility.labelFont);        addWithFont(allArgs,arg1Text=new TextField(12),Utility.editFont);        addWithFont(allArgs,new Label("1",Label.RIGHT),Utility.labelFont);        addWithFont(allArgs,arg2Text=new TextField(12),Utility.editFont);        addWithFont(allArgs,new Label("2",Label.RIGHT),Utility.labelFont);        addWithFont(allArgs,arg3Text=new TextField(12),Utility.editFont);        addWithFont(allArgs,new Label("3",Label.RIGHT),Utility.labelFont);        addWithFont(allArgs,arg4Text=new TextField(12),Utility.editFont);	arg1Text.addKeyListener(this);	arg2Text.addKeyListener(this);	arg3Text.addKeyListener(this);	arg4Text.addKeyListener(this);        Utility.fixGrid(allArgs,2);        Panel formatPanel = new Panel();        addWithFont(formatPanel,new Label(" "),Utility.labelFont);        addWithFont(formatPanel,new Label("Formats", Label.LEFT),                    Utility.labelFont);        addWithFont(formatPanel,new Label("0",Label.RIGHT),Utility.labelFont);        addWithFont(formatPanel,arg1Type,Utility.choiceFont);        addWithFont(formatPanel,new Label("1",Label.RIGHT),Utility.labelFont);        addWithFont(formatPanel,arg2Type = cloneChoice(arg1Type),                    Utility.choiceFont);        addWithFont(formatPanel,new Label("2",Label.RIGHT),Utility.labelFont);        addWithFont(formatPanel,arg3Type = cloneChoice(arg1Type),                    Utility.choiceFont);        addWithFont(formatPanel,new Label("3",Label.RIGHT),Utility.labelFont);        addWithFont(formatPanel,arg4Type = cloneChoice(arg1Type),                    Utility.choiceFont);	arg2Type.addItemListener(this);	arg3Type.addItemListener(this);	arg4Type.addItemListener(this);        Utility.fixGrid(formatPanel,2);        // Choices panel        Panel choicesPanel = new Panel();        addWithFont(choicesPanel,new Label(">=", Label.LEFT),                    Utility.labelFont);        addWithFont(choicesPanel,new Label("Choice Strings", Label.LEFT),                    Utility.labelFont);        addWithFont(choicesPanel,choice1Num=new TextField(4),                    Utility.editFont);        addWithFont(choicesPanel,choice1Text=new TextField(16),                    Utility.editFont);        addWithFont(choicesPanel,choice2Num=new TextField(4),                    Utility.editFont);        addWithFont(choicesPanel,choice2Text=new TextField(16),                    Utility.editFont);        addWithFont(choicesPanel,choice3Num=new TextField(4),                    Utility.editFont);        addWithFont(choicesPanel,choice3Text=new TextField(16),                    Utility.editFont);        addWithFont(choicesPanel,choice4Num=new TextField(4),                    Utility.editFont);        addWithFont(choicesPanel,choice4Text=new TextField(16),                    Utility.editFont);	choice1Text.addKeyListener(this);	choice2Text.addKeyListener(this);	choice3Text.addKeyListener(this);	choice4Text.addKeyListener(this);	choice1Num.addKeyListener(this);	choice2Num.addKeyListener(this);	choice3Num.addKeyListener(this);	choice4Num.addKeyListener(this);        Utility.fixGrid(choicesPanel,2);        add(titleCreditPanel);        add(patternResultPanel);        add(localeCreditPanel);        Panel bottomPanel = new Panel();        bottomPanel.add(allArgs);        XBorderPanel x = new XBorderPanel(); // MD 8/7        x.setBackground(Color.lightGray);        x.setLayout(null);        x.setSize(8,130);        bottomPanel.add(x);        bottomPanel.add(formatPanel);        XBorderPanel x1 = new XBorderPanel(); // MD 8/7        x1.setBackground(Color.lightGray);        x1.setLayout(null);        x1.setSize(8,130);        bottomPanel.add(x1);        bottomPanel.add(choicesPanel);        Utility.fixGrid(bottomPanel,5);        // MD 8/7 only after fixGrid        Utility.setInsets(bottomPanel,x,new Insets(20,20,2,2));        Utility.setInsets(bottomPanel,x1,new Insets(20,20,2,20));        add(bottomPanel);        Panel copyrightPanel = new Panel();        addWithFont (copyrightPanel,new Label(copyrightString, Label.LEFT),                     Utility.creditFont);        addWithFont (copyrightPanel,new Label(copyrightString2, Label.LEFT),                     Utility.creditFont);        Utility.fixGrid(copyrightPanel,1);        add(copyrightPanel);    }    private Object createObject(Choice typeMenu, TextField textField )    {        int type = typeMenu.getSelectedIndex();        String text = textField.getText();        Object result = null;        try {            if (type == NUMBER || type == CHOICE)            {                result = new Double(text);            }            else if (type == DATE)            {	      // Still use the deprecated new Date(text) until 	      // the DateFormat.parse(text) is working properly.	      result = new Long( (new Date(text)).getTime() + 1);	      // 1 millisecond was added to display the date correctly.	      // This is done to fix the following scenario, eg,	      // "27 Sept 96" ==> "26 Sept 96 12:00 AM PDT" which is	      // equvalent to "27 Sept 96 00:00 AM PDT".  -- CLH 9/27/96            }            else if (type == NONE)            {                result = text;            }        }        catch (RuntimeException e) {        }        return result;    }    private void errorText(String s)    {        if (DEBUG)        {           System.out.println(s);        }    }    private static final String creditString =        "v1.1a7, Demos";    private static final String copyrightString =        "";    private static final String copyrightString2 =        "";    private static final int FIELD_COLUMNS = 60;    static private final int NUMBER = 0;    static private final int DATE = 1;    static private final int CHOICE = 2;    static private final int NONE = 3;    private static final boolean DEBUG = false;    private Locale[] locales;    private DemoApplet applet;    private ChoiceFormat choiceFormat;    // XXX}// MD 8/7 whole class, from Ralf. Use different name!class XBorderPanel extends Panel{   /**    * Panel shadow border width    */   protected int shadow = 4;   /**    * Panel raised vs depressed look    */   protected boolean raised = true;    public XBorderPanel() {        this.raised=true;    }    public XBorderPanel(boolean raised) {        this.raised=raised;    }   /**    * Re-layout parent. Called when a panel changes    * size etc.    */   protected void layoutParent() {      Container parent = getParent();      if (parent != null) {     parent.doLayout();      }   }   public void paint(Graphics g) {        super.paint(g);        Dimension size = getSize();        paintBorder(g, size);    }   protected void paintBorder(Graphics g, Dimension size) {      Color c = getBackground();      g.setColor(c);      g.fillRect(0, 0, size.width, size.height);      draw3DRect(g, 0, 0, size.width, size.height, raised);   }   /**    * Draw a 3D Rectangle.    * @param g the specified Graphics window    * @param x, y, width, height    * @param raised - true if border should be painted as raised.    * @see #paint    */   public void draw3DRect(Graphics g, int x, int y, int width, int height,              boolean raised) {      Color c = g.getColor();      Color brighter = avgColor(c,Color.white);      Color darker = avgColor(c,Color.black);      // upper left corner      g.setColor(raised ? brighter : darker);      for (int i=0; i<shadow; i++) {      g.drawLine(x+i, y+i, x+width-1-i, y+i);      g.drawLine(x+i, y+i, x+i, y+height-1-i);      }      // lower right corner      g.setColor(raised ? darker : brighter);      for (int i=0; i<shadow; i++) {      g.drawLine(x+i, y+height-1-i, x+width-1-i, y+height-1-i);      g.drawLine(x+width-1-i, y+height-1-i, x+width-1-i, y+i);      }      g.setColor(c);      // added by rip.      g.setColor(Color.black);      g.drawRect(x,y,width+2,height+2);   }   public static Color avgColor(Color c1, Color c2) {    return new Color(        (c1.getRed()+c2.getRed())/2,        (c1.getGreen()+c2.getGreen())/2,        (c1.getBlue()+c2.getBlue())/2        );   }}

⌨️ 快捷键说明

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