使用 AWT 转换货币的Java程序
Swing是JFC(Java基础类)的一部分。在Java中构建图形用户界面需要使用 Swings。 Swing 框架包含大量组件,这些组件允许高级定制并提供丰富的功能,用于创建基于窗口的应用程序。 Java Swing 组件是轻量级的,独立于平台的,提供强大的组件,如表格、滚动面板、按钮、列表、颜色选择器等。
在本文中,我们将了解如何制作一个货币转换器,其中包括 INR 和美元之间的转换。使用卢比和美元标签实现了两个文本字段。
注:假设 1 美元等于 65.25 卢比。
例子:
Input: INR = 130.5
Output: 2.0
Explanation:
One dollar is 65.25 rupees. So, 130.5 rupees is two dollars.
Input: Dollar = 4.5
Output: 293.625
方法:为了解决这个问题,遵循以下步骤:
- 首先,我们需要使用 JFrame 创建一个框架。
- 然后,使用 JLabel、JTextField 和 JButton 创建两个标签、两个文本字段和三个按钮(第一个按钮是卢比,第二个按钮是美元)。
- 相应地命名这些组件并设置它们的界限。
- 现在,为了在按钮单击时执行转换,我们需要添加事件处理程序。在这种情况下,我们将添加 ActionListener 来执行称为 actionPerformed 的操作方法,首先我们需要从默认为“字符串”的文本字段中获取值。
- 因此,为了执行数学运算,我们需要使用Double.parseDouble(Object.getText())将它们转换为双精度数据类型,并再次从双精度转换为字符串,以使用String.valueOf将最终值放在另一个文本字段中(对象) 。
- 最后,为了更改值,我们使用 Object.setText(object),第二个对象用于选择要替换的字段。
下面是上述方法的实现:
// Java program to convert from
// rupee to the dollar and vice-versa
// using Java Swing
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class GFG {
// Function to convert from rupee
// to the dollar and vice-versa
// using Java Swing
public static void converter()
{
// Creating a new frame using JFrame
JFrame f = new JFrame("CONVERTER");
// Creating two labels
JLabel l1, l2;
// Creating two text fields.
// One for rupee and one for
// the dollar
JTextField t1, t2;
// Creating three buttons
JButton b1, b2, b3;
// Naming the labels and setting
// the bounds for the labels
l1 = new JLabel("Rupees:");
l1.setBounds(20, 40, 60, 30);
l2 = new JLabel("Dollars:");
l2.setBounds(170, 40, 60, 30);
// Initializing the text fields with
// 0 by default and setting the
// bounds for the text fields
t1 = new JTextField("0");
t1.setBounds(80, 40, 50, 30);
t2 = new JTextField("0");
t2.setBounds(240, 40, 50, 30);
// Creating a button for INR,
// one button for the dollar
// and one button to close
// and setting the bounds
b1 = new JButton("INR");
b1.setBounds(50, 80, 60, 15);
b2 = new JButton("Dollar");
b2.setBounds(190, 80, 60, 15);
b3 = new JButton("close");
b3.setBounds(150, 150, 60, 30);
// Adding action listener
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
// Converting to double
double d
= Double.parseDouble(t1.getText());
// Converting rupees to dollars
double d1 = (d / 65.25);
// Getting the string value of the
// calculated value
String str1 = String.valueOf(d1);
// Placing it in the text box
t2.setText(str1);
}
});
// Adding action listener
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
// Converting to double
double d2
= Double.parseDouble(t2.getText());
// converting Dollars to rupees
double d3 = (d2 * 65.25);
// Getting the string value of the
// calculated value
String str2 = String.valueOf(d3);
// Placing it in the text box
t1.setText(str2);
}
});
// Action listener to close the form
b3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
f.dispose();
}
});
// Default method for closing the frame
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
// Adding the created objects
// to the form
f.add(l1);
f.add(t1);
f.add(l2);
f.add(t2);
f.add(b1);
f.add(b2);
f.add(b3);
f.setLayout(null);
f.setSize(400, 300);
f.setVisible(true);
}
// Driver code
public static void main(String args[])
{
converter();
}
}
输出:
- 运行程序时显示的窗口:
- 从 INR 转换为美元,即单击 INR 按钮时:
- 从美元转换为 INR,即当点击美元按钮时: