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

📄 celsiusconverter2.java

📁 Java样例程序集合:2D
💻 JAVA
字号:
/** * CelsiusConverter2.java is a 5.0 application that demonstrates * the use of JButton, JTextFormattedField, and JLabel and  * requires the following file: *     images/convert.gif */import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.text.NumberFormatter;import java.text.ParseException;import java.text.DecimalFormat;import java.net.URL;public class CelsiusConverter2 implements ActionListener {    private JFrame converterFrame;    private JPanel converterPanel;    private JFormattedTextField tempCelsius;    private JLabel celsiusLabel, fahrenheitLabel;    private JButton convertTemp;    public CelsiusConverter2() {        //Create and set up the window.        converterFrame = new JFrame("Convert Celsius to Fahrenheit");        converterFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        //Create and set up the panel.        converterPanel = new JPanel(new GridLayout(2, 2));        //Add the widgets.        addWidgets();        //Set the default button.        converterFrame.getRootPane().setDefaultButton(convertTemp);        //Add the panel to the window.        converterFrame.add(converterPanel, BorderLayout.CENTER);        //Display the window.        converterFrame.pack();        converterFrame.setSize(converterFrame.getWidth() + 50,                               converterFrame.getHeight());        converterFrame.setVisible(true);    }    /**     * Create and add the widgets.     */    private void addWidgets() {        //Create the widgets.        ImageIcon convertIcon = createImageIcon("images/convert.gif",            "Convert temperature");        //Create the format for the Celsius text field.        tempCelsius = new JFormattedTextField(new DecimalFormat("##0.0#"));        tempCelsius.setFocusLostBehavior(JFormattedTextField.COMMIT_OR_REVERT);        //Set and commit the default temperature.        try {            tempCelsius.setText("37.0");            tempCelsius.commitEdit();        } catch(ParseException e) {            //Shouldn't get here unless the setText value doesn't agree            //with the format set above.            e.printStackTrace();        }        celsiusLabel = new JLabel("Celsius", SwingConstants.LEFT);        convertTemp = new JButton(convertIcon);        fahrenheitLabel = new JLabel("Fahrenheit", SwingConstants.LEFT);        celsiusLabel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));        fahrenheitLabel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));        //Listen to events from the Convert button and        //the tempCelsius text field.        convertTemp.addActionListener(this);        tempCelsius.addActionListener(this);        //Add the widgets to the container.        converterPanel.add(tempCelsius);        converterPanel.add(celsiusLabel);        converterPanel.add(convertTemp);        converterPanel.add(fahrenheitLabel);    }    public void actionPerformed(ActionEvent event) {        String eventName = event.getActionCommand();        //Parse degrees Celsius as a double and convert to Fahrenheit.        int tempFahr = (int)((Double.parseDouble(tempCelsius.getText()))                             * 1.8 + 32);        //Set fahrenheitLabel to the new value and set font color        //based on the temperature.        if (tempFahr <= 32) {            fahrenheitLabel.setText("<html><font color=#00FFFF>" +                        tempFahr + "&#176 </font> Fahrenheit</html>");        } else if (tempFahr <= 80) {            fahrenheitLabel.setText("<html><font color=#00FF00>" +                        tempFahr + "&#176 </font> Fahrenheit</html>");        } else {            fahrenheitLabel.setText("<html><font color=#FF8040>" +                        tempFahr + "&#176 </font> Fahrenheit</html>");        }    }    /** Returns an ImageIcon, or null if the path was invalid. */    protected static ImageIcon createImageIcon(String path,                                               String description) {        java.net.URL imgURL = CelsiusConverter2.class.getResource(path);        if (imgURL != null) {            return new ImageIcon(imgURL, description);        } else {            System.err.println("Couldn't find file: " + path);            return null;        }    }    /**     * Create the GUI and show it.  For thread safety,     * this method should be invoked from the     * event-dispatching thread.     */    private static void createAndShowGUI() {        //Make sure we have nice window decorations.        JFrame.setDefaultLookAndFeelDecorated(true);        CelsiusConverter2 converter = new CelsiusConverter2();    }    public static void main(String[] args) {        //Schedule a job for the event-dispatching thread:        //creating and showing this application's GUI.        javax.swing.SwingUtilities.invokeLater(new Runnable() {            public void run() {                createAndShowGUI();            }        });    }}

⌨️ 快捷键说明

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