📄 exercise13_5.java
字号:
// Exercise13_5.java: Convert Mile to Kilometer and vice versa
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Exercise13_5 extends JFrame implements ActionListener {
private JTextField jtfMile = new JTextField(10);
private JTextField jtfKilometer = new JTextField(10);
// Main method
public static void main(String[] args) {
Exercise13_5 frame = new Exercise13_5();
frame.pack();
frame.setTitle("Exercise13_5");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public Exercise13_5() {
// Panel p1 to hold labels and text fields
JPanel p = new JPanel();
p.setLayout(new GridLayout(2, 2));
p.add(new JLabel("Mile"));
p.add(jtfMile);
p.add(new JLabel("Kilometer"));
p.add(jtfKilometer);
jtfMile.setHorizontalAlignment(JTextField.RIGHT);
jtfKilometer.setHorizontalAlignment(JTextField.RIGHT);
// Add p to the frame
getContentPane().add(p);
// Register listener
jtfMile.addActionListener(this);
jtfKilometer.addActionListener(this);
}
// Handle ActionEvent
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jtfMile) {
double mile = new Double(jtfMile.getText().trim()).doubleValue();
double kilometer = mile / 0.6241;
jtfKilometer.setText(new Double(kilometer).toString());
}
else {
double kilometer = new Double(jtfKilometer.getText().trim()).doubleValue();
double mile = 0.6241 * kilometer;
jtfMile.setText(new Double(mile).toString());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -