.设计一个程序,该程序拥有一个JCamboBox 控件,并且JCambaBox 有选项“Binary”“Octa”“Hex”,分别表示“二进制”“八进制” “十大进制”,在选择相应进制后,通过JTextField 输入一个十进制 数,单击一个按钮
时间: 2023-07-14 20:14:29 浏览: 78
,程序将转换输入的十进制数为所选进制,并将结果显示在另一个JTextField中。
以下是Java代码实现:
```java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class NumberConverter {
public static void main(String[] args) {
JFrame frame = new JFrame("Number Converter");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JLabel label = new JLabel("Enter a decimal number:");
JTextField textField = new JTextField(10);
JLabel resultLabel = new JLabel("Result:");
JTextField resultTextField = new JTextField(10);
resultTextField.setEditable(false);
JComboBox<String> comboBox = new JComboBox<>(new String[]{"Binary", "Octal", "Hexadecimal"});
JButton button = new JButton("Convert");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int decimal = Integer.parseInt(textField.getText());
String result = "";
switch (comboBox.getSelectedIndex()) {
case 0:
result = Integer.toBinaryString(decimal);
break;
case 1:
result = Integer.toOctalString(decimal);
break;
case 2:
result = Integer.toHexString(decimal);
break;
default:
break;
}
resultTextField.setText(result);
}
});
panel.add(label);
panel.add(textField);
panel.add(comboBox);
panel.add(button);
panel.add(resultLabel);
panel.add(resultTextField);
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}
```
在这个程序中,我们创建了一个JFrame窗口,其中包含一个JPanel面板和几个Swing组件。JComboBox用于选择进制,JTextField用于输入十进制数,JButton用于启动转换,并在另一个JTextField中显示结果。
在单击“Convert”按钮时,我们将使用Integer类的toBinaryString,toOctalString和toHexString方法将输入的十进制数转换为所选进制。然后,我们将结果显示在另一个JTextField中。
阅读全文