package myaccount;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.TextArea;
import java.awt.event.TextEvent;

//0831知道如何使用傾聽者及自動作加減,還有能自己創造出格子出來
//20200719 建立起一個搜尋框能將收入與支出的結果自動做加減
//20200719 最後用valueOf的方式成功解決算不出總預算的問題
class TryAdmin extends JFrame{
    // 此視窗所用到的元件
    JPanel panel, inPanel, outPanel;
    JLabel inputFieldLabel, outputFieldLabel; 
    JTextField 
//收入  income=收入,change=可動資金,savings=儲蓄
            incomeField,changeField,savingsField
//支出  meals=三餐,meals_day=三餐天數,rent=房租,存錢=savemoney,airtime=通話費,
//     transportation=交通費       
            , mealsField,meals_dayField2,FieldField,savemoney,airtime,transportation
    
//結果
            ,outputField3;
    JButton inputButton,inputButton2;
    

    public TryAdmin() {
        super("678");//為什麼子類別可以繼承這個範例?這範例從哪來的?
        GoGo();
    }

    // 元件相關設置
    public void GoGo() { 
        panel = new JPanel();
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
////BoxLayout是讓物件保持水平或垂直平行對齊的語法
        inPanel = new JPanel();
        outPanel = new JPanel();

        inputFieldLabel = new JLabel("輸入文字");
        
        incomeField = new JTextField("輸入1");
        incomeField.addActionListener(new inputFieldActionListener()); // 要將事件處理加入

        
        changeField = new JTextField("輸入2");
        changeField.addActionListener(new inputFieldActionListener());

        
        inputButton = new JButton("確定");
        inputButton.addActionListener(new inputButtonActionListener()); // 要將事件處理加入
        inputButton2 = new JButton("確定");
        inputButton2.addActionListener(new inputButtonActionListener()); // 要將事件處理加入
        
        
        outputFieldLabel = new JLabel("輸出文字");
        mealsField = new JTextField("輸出1");
        mealsField.addActionListener(new outputFieldActionListener());
        
        meals_dayField2 = new JTextField("輸出2");
        meals_dayField2.addActionListener(new outputFieldActionListener());
        outputField3 = new JTextField("總輸出");
     
        
        inPanel.add(inputFieldLabel);
        inPanel.add(incomeField);
        inPanel.add(changeField);
        inPanel.add(inputButton);
        inPanel.add(inputButton2);
        
        outPanel.add(outputFieldLabel);
        outPanel.add(mealsField);
        outPanel.add(meals_dayField2);
        outPanel.add(outputField3);
       
        
        
 
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(400, 800);
        this.getContentPane().setLayout(new GridLayout(2,4));
        this.add(inputFieldLabel);
        this.add(incomeField);
        this.add(mealsField);
        this.add(inputButton);
        this.add(changeField);
        this.add(meals_dayField2);
        this.add(outputField3);
        this.add(inputButton2);
        this.setVisible(true);
    }
    // inputField的事件處理
        private class inputFieldActionListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            changeOutputText();
        }
    }
        // inputButton的事件處理
    private class inputButtonActionListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            changeOutputText();
        }
    }

        private class InputFieldStr2ActionListener implements ActionListener {
            public void actionPerformed(ActionEvent e){
                changeOutputText();
            }
        }
        
            private class inputButton2ActionListener implements ActionListener
            {
            public void actionPerformed(ActionEvent e) 
                {
                changeOutputText();
                }
            }
//         總預算相加   
            private class outputFieldActionListener implements ActionListener
            {
            public void actionPerformed(ActionEvent e) 
                {
                changeOutputText();
                }
            }
            
            private class outputField2ActionListener implements ActionListener
            {
            public void actionPerformed(ActionEvent e) 
                {
                changeOutputText();
                }
            }
            

    public void changeOutputText() {
        String input_field_str = incomeField.getText();
        mealsField.setText(input_field_str);
        
        String InputFieldStr2 = changeField.getText();
        meals_dayField2.setText(InputFieldStr2);
        
        String outputField_str = mealsField.getText();
        int afterfield = Integer.valueOf(outputField_str);
        afterfield = Integer.parseInt(outputField_str);
        
        String outputField2_str = meals_dayField2.getText();
        int afterfield2 = Integer.valueOf(outputField2_str);
        afterfield2 = Integer.parseInt(outputField2_str);

        int afterfield3 = afterfield +afterfield2;
        String answer = String.valueOf(afterfield3);
        outputField3.setText(answer);
    }
    public static void main(String[] args) {
         TryAdmin app = new  TryAdmin();
    }
}


 

arrow
arrow
    文章標籤
    Java
    全站熱搜

    羽 發表在 痞客邦 留言(0) 人氣()