Java是一種面向?qū)ο蟮木幊陶Z言,它支持窗口設(shè)計(jì),可以創(chuàng)建各種圖形用戶界面(GUI)應(yīng)用程序。在本文中,我們將討論如何使用Java設(shè)計(jì)一個(gè)窗口應(yīng)用程序,來計(jì)算圓的面積和周長(zhǎng)。
首先,我們需要?jiǎng)?chuàng)建一個(gè)窗口對(duì)象:
JFrame frame = new JFrame(); frame.setSize(400, 400); frame.setTitle("計(jì)算圓的面積和周長(zhǎng)"); frame.setVisible(true);
接下來,我們需要在窗口中添加一些組件,如標(biāo)簽、文本框和按鈕等。我們可以使用JLabel和JTextField組件來顯示和輸入數(shù)據(jù),使用JButton組件來觸發(fā)計(jì)算事件。
JLabel label1 = new JLabel("輸入半徑:"); JTextField textField1 = new JTextField(10); JLabel label2 = new JLabel("圓的面積:"); JTextField textField2 = new JTextField(10); JLabel label3 = new JLabel("圓的周長(zhǎng):"); JTextField textField3 = new JTextField(10); JButton button = new JButton("計(jì)算"); frame.setLayout(new GridLayout(4, 2)); frame.add(label1); frame.add(textField1); frame.add(label2); frame.add(textField2); frame.add(label3); frame.add(textField3); frame.add(button);
現(xiàn)在,我們需要添加一個(gè)事件監(jiān)聽器,在點(diǎn)擊計(jì)算按鈕時(shí)計(jì)算圓的面積和周長(zhǎng)。我們可以使用ActionListener接口來實(shí)現(xiàn)事件監(jiān)聽器。
button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { double radius = Double.parseDouble(textField1.getText()); double area = Math.PI * radius * radius; double perimeter = 2 * Math.PI * radius; textField2.setText(String.format("%.2f", area)); textField3.setText(String.format("%.2f", perimeter)); } });
最后,我們需要在窗口關(guān)閉時(shí)退出應(yīng)用程序:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
完整的代碼如下:
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Circle extends JFrame { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(400, 400); frame.setTitle("計(jì)算圓的面積和周長(zhǎng)"); frame.setLayout(new GridLayout(4, 2)); JLabel label1 = new JLabel("輸入半徑:"); JTextField textField1 = new JTextField(10); JLabel label2 = new JLabel("圓的面積:"); JTextField textField2 = new JTextField(10); JLabel label3 = new JLabel("圓的周長(zhǎng):"); JTextField textField3 = new JTextField(10); JButton button = new JButton("計(jì)算"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { double radius = Double.parseDouble(textField1.getText()); double area = Math.PI * radius * radius; double perimeter = 2 * Math.PI * radius; textField2.setText(String.format("%.2f", area)); textField3.setText(String.format("%.2f", perimeter)); } }); frame.add(label1); frame.add(textField1); frame.add(label2); frame.add(textField2); frame.add(label3); frame.add(textField3); frame.add(button); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
現(xiàn)在,我們可以編譯和運(yùn)行程序,輸入半徑并點(diǎn)擊計(jì)算按鈕,即可計(jì)算圓的面積和周長(zhǎng)。