设计一组类满足以下条件: (1)定义一个类描述爱好(体育、音乐、文学),包含爱好的中文字符串(例如”音乐”)和英文字符串(例如”music”); (2)设计一个用户界面如下图左,窗口包含一个下拉选择框,显示让用户进行选择的爱好(中文字符串); (3)当用户选定爱好后,用户界面弹出一个对话框如下图右,显示用户选择爱好的英文字符串。 注意:用户界面设计要采用Swing容器和组件。
时间: 2024-03-01 22:51:51 浏览: 37
Project-Rodney:我正在学习组装和底层编程的一个很小的爱好
好的,我可以为您设计这样一组类。首先,我们可以定义一个Hobby类,如下所示:
```java
public class Hobby {
private String nameCN; // 爱好的中文名称
private String nameEN; // 爱好的英文名称
public Hobby(String nameCN, String nameEN) {
this.nameCN = nameCN;
this.nameEN = nameEN;
}
public String getNameCN() {
return nameCN;
}
public String getNameEN() {
return nameEN;
}
}
```
接下来,我们可以设计用户界面,如下所示:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class HobbyUI extends JFrame {
private JComboBox<Hobby> hobbyJComboBox;
private JLabel hobbyJLabel;
public HobbyUI() {
setTitle("选择爱好");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建爱好下拉选择框
hobbyJComboBox = new JComboBox<>();
hobbyJComboBox.addItem(new Hobby("体育", "sports"));
hobbyJComboBox.addItem(new Hobby("音乐", "music"));
hobbyJComboBox.addItem(new Hobby("文学", "literature"));
hobbyJComboBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 显示选择的爱好的英文名称
Hobby hobby = (Hobby) hobbyJComboBox.getSelectedItem();
JOptionPane.showMessageDialog(null, hobby.getNameEN(), "你选择的爱好是", JOptionPane.INFORMATION_MESSAGE);
}
});
// 创建标签
hobbyJLabel = new JLabel("请选择你的爱好:");
// 添加组件
Container contentPane = getContentPane();
contentPane.setLayout(new FlowLayout());
contentPane.add(hobbyJLabel);
contentPane.add(hobbyJComboBox);
pack();
setVisible(true);
}
public static void main(String[] args) {
new HobbyUI();
}
}
```
这样,我们就设计好了一个包含爱好选择和英文名称显示的用户界面,满足您的要求。
阅读全文