用java写一个随机点名的图形化界面
时间: 2023-11-21 09:06:39 浏览: 61
好的,下面是一个简单的随机点名的图形化界面的Java代码:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Random;
public class RandomNamePicker extends JFrame implements ActionListener {
private JPanel mainPanel;
private JButton pickButton;
private JLabel nameLabel;
private ArrayList<String> studentNames;
private Random random;
public RandomNamePicker() {
super("随机点名器");
// 初始化学生名单
studentNames = new ArrayList<>();
studentNames.add("小明");
studentNames.add("小红");
studentNames.add("小李");
studentNames.add("小张");
studentNames.add("小王");
studentNames.add("小赵");
studentNames.add("小钱");
studentNames.add("小孙");
// 初始化随机数生成器
random = new Random();
// 创建主面板
mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
add(mainPanel);
// 创建姓名显示标签
nameLabel = new JLabel("请点击“抽取”按钮开始点名");
nameLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
nameLabel.setFont(new Font("宋体", Font.PLAIN, 20));
mainPanel.add(nameLabel);
// 创建抽取按钮
pickButton = new JButton("抽取");
pickButton.setAlignmentX(Component.CENTER_ALIGNMENT);
pickButton.addActionListener(this);
mainPanel.add(pickButton);
// 设置窗口属性
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setResizable(false);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == pickButton) {
// 随机抽取一个学生名字并显示
int index = random.nextInt(studentNames.size());
nameLabel.setText("被抽中的同学是:" + studentNames.get(index));
}
}
public static void main(String[] args) {
new RandomNamePicker();
}
}
```
这个程序使用了Java的Swing库来创建图形化界面。在程序中,我们创建了一个JFrame窗口,并在窗口中添加了一个JPanel面板。面板中包括一个JLabel标签用来显示抽中的学生名字,以及一个JButton按钮用来触发抽取操作。当用户点击按钮时,程序会从学生名单中随机抽取一个学生的名字,然后在标签中显示出来。