实现在窗口一个文 用java 语言实现 本框中输入十进制数,在下面三个文本框中直接显示其对应二进制十进制八进制数。
时间: 2024-03-23 17:41:50 浏览: 10
可以使用Java Swing GUI库来实现这个功能。以下是一个简单的实现:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DecimalConverter extends JFrame implements ActionListener {
private JTextField decimalField;
private JTextField binaryField;
private JTextField octalField;
private JTextField hexField;
public DecimalConverter() {
super("Decimal Converter");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建UI组件
JLabel decimalLabel = new JLabel("Decimal:");
decimalField = new JTextField(10);
decimalField.addActionListener(this);
JLabel binaryLabel = new JLabel("Binary:");
binaryField = new JTextField(10);
binaryField.setEditable(false);
JLabel octalLabel = new JLabel("Octal:");
octalField = new JTextField(10);
octalField.setEditable(false);
JLabel hexLabel = new JLabel("Hex:");
hexField = new JTextField(10);
hexField.setEditable(false);
// 将组件添加到窗口中
JPanel panel = new JPanel(new GridLayout(4, 2));
panel.add(decimalLabel);
panel.add(decimalField);
panel.add(binaryLabel);
panel.add(binaryField);
panel.add(octalLabel);
panel.add(octalField);
panel.add(hexLabel);
panel.add(hexField);
add(panel);
// 显示窗口
pack();
setLocationRelativeTo(null);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
// 获取输入的十进制数
String decimalStr = decimalField.getText().trim();
if (decimalStr.isEmpty()) {
return;
}
int decimal = Integer.parseInt(decimalStr);
// 转换为二进制、八进制和十六进制
String binary = Integer.toBinaryString(decimal);
String octal = Integer.toOctalString(decimal);
String hex = Integer.toHexString(decimal);
// 显示结果
binaryField.setText(binary);
octalField.setText(octal);
hexField.setText(hex);
}
public static void main(String[] args) {
new DecimalConverter();
}
}
```
这个程序创建了一个窗口,包含一个文本框和三个只读文本框。当用户在十进制文本框中输入一个数字后,程序会自动将其转换为二进制、八进制和十六进制,并在对应的文本框中显示结果。