iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 20
0
Software Development

30天手把手帶你跟JAVA變成好朋友 系列 第 20

Day20 - 小專案實戰2 - Swing化的華式攝氏溫度轉換器

  • 分享至 

  • xImage
  •  

要如何把昨天的Console端程式轉換為Swing版本呢?
其實道理與猜數字遊戲大同小異,我們一樣先來想加入使用者互動的流程。

流程相對猜數字其實簡單了許多-
使用者在文字方塊中輸入攝氏溫度 -> 按下"求華式溫度"的按鈕 -> 下方處顯示華氏溫度
使用者按下"清除"按鈕 -> 清除文字方塊中的文字

與猜數字相同,我們一樣將專案分為主函式檔CtoF.java與主要邏輯檔Convertor.java

Convertor.java

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Convertor {
 private JFrame frame;
 private JLabel lab;
 private JLabel lab2;
 private JButton bot;
 private JButton bot1;
 private JTextField te;
 
 public Swing() {
  frame = new JFrame("攝氏轉華氏溫度");
  frame.setLayout(null);
  
  lab = new JLabel("請輸入攝氏溫度:");
  lab.setBounds(5, 5, 100, 20);
  frame.add(lab);
  
  te = new JTextField();
  te.setBounds(107, 5, 100, 20);
  frame.add(te);
  
  bot = new JButton("求華氏溫度");
  bot.setBounds(5, 37, 100, 20);
  frame.add(bot);
  
        lab2 = new JLabel("");
        lab2.setBounds(5, 59, 200, 40); 
        frame.add(lab2); 
  
  bot.addActionListener(new ActionListener() {

   @Override
   public void actionPerformed(ActionEvent e) {
     try {
      double c = Double.parseDouble(te.getText());
      double f = (9.0/5.0)*c+32;
      lab2.setText("華氏溫度: "+f);
     }catch(Exception e1) {
      
     }
    }  
  });
  
  bot1= new JButton("清除");
  bot1.setBounds(107, 37, 100, 20);
  frame.add(bot1);
  
  bot1.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    te.setText("");
    lab2.setText("");
   }  
  });

  frame.setSize(400, 200);
  frame.setVisible(true);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
 }
}

CtoF.java

public class CtoF {
	public static void main(String[] args) {
		new Swing();
	}
}

Hi, I am Grant.

個人部落格 - https://grantliblog.wordpress.com/
個人網站 - https://grantli-website.netlify.app/#/mainpage
我的寫作專題 - https://vocus.cc/user/5af2e9b5fd89780001822db4#


上一篇
Day19 - 小專案實戰2 - 華式攝氏溫度轉換器
下一篇
Day21 - 何謂框架?
系列文
30天手把手帶你跟JAVA變成好朋友 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言