java Swing GUI 入門-簡易貨幣計算器
阿新 • • 發佈:2020-12-21
java Swing GUI 入門-簡易貨幣計算器
覺得有用的話,歡迎一起討論相互學習~
設計佈局
- 大部分和上一節: https://xuzhiwei.blog.csdn.net/article/details/111470880 的內容一致,新加入的內容有
- JcomboBox下拉框
- JTextField的不可編輯的屬性
- 可以通過調節一個控制元件的Vertical Align屬性以調節一個元素的位置,特別是將其設定為top可以將這個控制元件調得較高,預設為center
- 大概就這樣:
注意一定不要選中Custom Create
- 對於 ComboBox 控制元件,單擊model屬性
新增事件操作
新增下拉框事件
- 為了使下拉框變化時,JLabel中的值也能相應的變化,向下拉框新增動作監聽器.
public CurrencyConverter() { comboBox1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { moneyTypeLabel.setText(" "+comboBox1.getSelectedItem()); } }); }//end CurrencyConverter()
- 新增main函式,右鍵新增
新增按鈕事件
- 思路:點選這個按鈕之後將前一個TextField中的值讀取出來乘以其和JCombox中國家幣種得匯率,得到的結果輸出到第二個TextField中.
convertButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { double[] rates = {0.1253, 15.7953, 0.1527};//Eurc,Yen,U.S.dollar double selectedRate = rates[comboBox1.getSelectedIndex()]; double converted = Double.parseDouble(canadianField.getText()) * selectedRate; convertedField.setText(" " + converted + " in " + comboBox1.getSelectedItem()); } });
程式演示
完整程式碼
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CurrencyConverter {
private JPanel mainPanel;
private JPanel topPanel;
private JPanel bottomPanel;
private JTextField canadianField;
private JComboBox comboBox1;
private JButton convertButton;
private JTextField convertedField;
private JLabel moneyTypeLabel;
public CurrencyConverter() {
comboBox1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
moneyTypeLabel.setText(" " + comboBox1.getSelectedItem());
}
});
convertButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
double[] rates = {0.1253, 15.7953, 0.1527};//Eurc,Yen,U.S.dollar
double selectedRate = rates[comboBox1.getSelectedIndex()];
double converted = Double.parseDouble(canadianField.getText()) * selectedRate;
convertedField.setText(" " + converted + " in " + comboBox1.getSelectedItem());
}
});
}//end CurrencyConverter()
public static void main(String[] args) {
JFrame frame = new JFrame("Currency Converter");
frame.setContentPane(new CurrencyConverter().mainPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}//end class