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

📄 userinterface.java

📁 A calculator source code written in java
💻 JAVA
字号:
import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;/** * A graphical user interface for the calculator. No calculation is being * done here. This class is responsible just for putting up the display on  * screen. It then refers to the "CalcEngine" to do all the real work. *  * @author David J. Barnes and Michael Kolling * @version 31 July 2000 */public class UserInterface    implements ActionListener{    private CalcEngine calc;    private boolean showingAuthor;    private JFrame frame;    private JTextField display;    private JLabel status;    /**     * Create a user interface for a given calcEngine.     */    public UserInterface(CalcEngine engine)    {        calc = engine;        showingAuthor = true;        makeFrame();        // frame.setVisible(true);    }    /**     * Make this interface visible again. (Has no effect if it is already     * visible.)     */    public void setVisible(boolean visible)    {        frame.setVisible(visible);    }    /**     * Make the frame for the user interface.     */    private void makeFrame()    {        frame = new JFrame(calc.getTitle());                JPanel contentPane = (JPanel)frame.getContentPane();        contentPane.setLayout(new BorderLayout(8, 8));        contentPane.setBorder(new EmptyBorder( 10, 10, 10, 10));        display = new JTextField();        contentPane.add(display, BorderLayout.NORTH);        JPanel buttonPanel = new JPanel(new GridLayout(4, 4));            addButton(buttonPanel, "7");            addButton(buttonPanel, "8");            addButton(buttonPanel, "9");            addButton(buttonPanel, "C");                        addButton(buttonPanel, "4");            addButton(buttonPanel, "5");            addButton(buttonPanel, "6");            addButton(buttonPanel, "?");                        addButton(buttonPanel, "1");            addButton(buttonPanel, "2");            addButton(buttonPanel, "3");            buttonPanel.add(new JLabel(" "));                        addButton(buttonPanel, "0");            addButton(buttonPanel, "+");            addButton(buttonPanel, "-");            addButton(buttonPanel, "=");                    contentPane.add(buttonPanel, BorderLayout.CENTER);        status = new JLabel(calc.getAuthor());        contentPane.add(status, BorderLayout.SOUTH);        frame.pack();        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    }    /**     * Add a button to the button panel.     */    private void addButton(Container panel, String buttonText)    {        JButton button = new JButton(buttonText);        button.addActionListener(this);        panel.add(button);    }    /**     * An interface action has been performed. Find out what it was and     * handle it.     */    public void actionPerformed(ActionEvent event)    {        String command = event.getActionCommand();        if(command.equals("0") ||           command.equals("1") ||           command.equals("2") ||           command.equals("3") ||           command.equals("4") ||           command.equals("5") ||           command.equals("6") ||           command.equals("7") ||           command.equals("8") ||           command.equals("9"))        {            int number = Integer.parseInt(command);            calc.numberPressed(number);        }        else if(command.equals("+"))            calc.plus();        else if(command.equals("-"))            calc.minus();        else if(command.equals("="))            calc.equals();        else if(command.equals("C"))            calc.clear();        else if(command.equals("?"))            showInfo();        redisplay();    }    /**     * Update the interface display to show the current value of the      * calculator.     */    private void redisplay()    {        display.setText("" + calc.getDisplayValue());    }    /**     * Toggle the info display in the calculator's status area between the     * author and version information.     */    private void showInfo()    {        if(showingAuthor)            status.setText(calc.getVersion());        else            status.setText(calc.getAuthor());        showingAuthor = !showingAuthor;    }}

⌨️ 快捷键说明

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