上一次的进程如下图所示
public static void main(String[] args) {
ArrayList<Animal> pet = new ArrayList<Animal>();
while(true) {
//编写主界面
System.out.println("*****爱之家宠物信息管理系统*****");
System.out.println("1.增加宠物");
System.out.println("2.修改宠物");
System.out.println("3.删除宠物");
System.out.println("4.查询宠物");
System.out.println("5.退出");
System.out.println("请输入你的选择:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
switch (num) {
case 1:
//System.out.println("添加宠物");
addPet(pet);
break;
case 2:
System.out.println("");
break;
case 3:
System.out.println("");
break;
case 4:
System.out.println("");
break;
case 5:
System.out.println("感谢使用!");
//break;
System.exit(0);
}
}
}
public static <OptionItem> void addPet(ArrayList<Animal> array){
}
这次完善一下addPet这个方法
根据题目要求,当增加一个宠物的时候,用户需要输入宠物的名字、国籍、年龄、性别和价格
所以,我们需要在addPet中加入以上这些
public static <OptionItem> void addPet(ArrayList<Animal> array){
//宠物名字
//宠物国籍
//宠物年龄
//宠物性别
//宠物价格
}
今天先完成前三个
这里的宠物名字和宠物年龄,直接用Scanner语句即可
public static <OptionItem> void addPet(ArrayList<Animal> array){
Scanner add = new Scanner(System.in);
//宠物名字
System.out.println("宠物名字:");
String name = add.next();
//宠物国籍
//宠物年龄
System.out.println("宠物年龄:");
String age = add.next();
//宠物性别
//宠物价格
}
新增宠物国籍这里需要用到JFrame创建窗口、RadioButton管理不同的国籍、JTextArea和AtionListener用来把宠物的国籍打印在控制台上、FlowLayout用于创建面板。
1.创建一个新的Frame对象,作为窗口
JFrame frame = new JFrame("国籍");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
2.创建一个ButtonGroup
ButtonGroup group = new ButtonGroup();
3.创建三个单选按钮,分别命名为三个不同的国籍
JRadioButton radioButton1 = new JRadioButton("中国");
JRadioButton radioButton2 = new JRadioButton("美国");
JRadioButton radioButton3 = new JRadioButton("英国");
4.将单选按钮添加到ButtonGroup中
group.add(radioButton1);
group.add(radioButton2);
group.add(radioButton3);
5.创建一个JTextArea来显示选择结果
JTextArea textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
textArea.setEditable(false);//设置为只读
6.添加动作监听器
ActionListener radioButtonListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
AbstractButton clickedButton = (AbstractButton) e.getSource();
if (clickedButton.isSelected()) {
//textArea.setText("宠物的国籍是:" + clickedButton.getText());
System.out.println(name + "的国籍是:" + clickedButton.getText());
}
}
};
在JAVA中,ActionListener是一个接口,主要用于监听和处理用户对图形用户界面组件产生的特定动作事件,例如按钮点击事件。
7.为每个单选按钮添加监听器
radioButton1.addActionListener(radioButtonListener);
radioButton2.addActionListener(radioButtonListener);
radioButton3.addActionListener(radioButtonListener);
8.创建面板,使用FlowLayout
JPanel panel = new JPanel();//创建面板
JPanel setLayout = new JPanel(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(radioButton1);
panel.add(Box.createHorizontalStrut(10));
panel.add(radioButton2);
panel.add(Box.createHorizontalStrut(10));
panel.add(radioButton3);
9.添加面板到窗口内容面板,添加组件
frame.getContentPane().add(panel, BorderLayout.NORTH);
frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
10.设置窗口大小并使其可见
frame.pack();//或frame.setSize(width: height: );
frame.setVisible(true);
运行一下