还记得以前上课的时候,老师会用自己写的一个抽取器抽取同学回答问题,当时想着我也要做一个,假期没事干,自学了java,闲来无聊,我也写一个,但是写的没有老师好,哈哈,好了说一下思路,先把界面布置好,然后逐一实现每个按钮的功能,其实也没什么难的。
进口java.awt。*; 进口javax.swing。*; 进口java.awt.event。*; 进口. io . *; 进口java.util。*;
1。相关实例对象,所以对象均为全局对象
私有静态JLabel jl=new JLabel(“文件:”); 私有静态JTextField jt=new JTextField (); 私有静态JButton OpenButton=new JButton(“选择文件”); 私有静态JTextField jt2=new JTextField();//文本框显示抽取名单 私有静态JButton StartButton=new JButton(“开始抽取”); 私有静态JLabel ClassjL=new JLabel(“班级:”); 私有静态JTextField ClassjT=new JTextField();//显示班级 私有静态JLabel NumjL=new JLabel(“人数:"); 私有静态JTextField NumjT=new JTextField();//显示人数 私有静态JLabel jl2=new JLabel(“抽取模式:”); 私有静态JComboBox jc=new JComboBox();//下拉列表框 私有静态JButton AboutButton=new JButton(“关于”); 私有静态JOptionPane乔=new JOptionPane();//弹出一个提示框 私有静态String[]年代;//用来存放人的名 私有静态字体字体=new字体(“宋体”,Font.BOLD, 18);//设置字体对象 私有静态int数=0;//用来存放抽取人数
2。建立窗体,并完成组件的初始化
私人空间窗口(){ JFrame摩根富林明=new JFrame(“花狗抽取器本人博客:fdogcsdn.com”); 摩根富林明。setIconImage(新ImageIcon (Icon.jpg) .getImage ()); 容器中c=jf.getContentPane (); c。setLayout(新GridLayout (4,2 10 10)); OpenButton.setFocusPainted(假); StartButton.setFocusPainted(假); AboutButton.setFocusPainted(假);//去掉按钮文字旁边的虚线框 JPanel jp1=new JPanel (); JPanel jp2=new JPanel(新BorderLayout ()); JPanel jp3=new JPanel (); JPanel jp4=new JPanel();//添加面板 jt.setColumns (10); ClassjT.setColumns (6); NumjT.setColumns (4); jt2.setHorizontalAlignment (JTextField.CENTER); jc.addItem(”——请选择——”); jc.addItem(“抽取一人”); jc.addItem(“抽取三人”); jc.addItem(“抽取五人”); jp1.add (jl); jp1.add (jt); jp1.add (OpenButton); jp2.add (jt2 BorderLayout.CENTER); jp3.add (ClassjL); jp3.add (ClassjT); jp3.add (NumjL); jp3.add (NumjT); jp3.add (jl2); jp3.add (jc); jp4.add (StartButton); jp4.add (AboutButton); c.add (jp1); c.add (jp2); c.add (jp3); c.add (jp4); jf.setVisible(真正的); 摩根富林明。setBounds (800, 200, 400, 500); jf.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); getOpenButton ();//下面三个方法是用来监听按钮事件方法 getAboutButton (); getSrartButton (); }
3。添加“打开文件”按钮监听事件:
私人空间getOpenButton () { OpenButton。addActionListener(新ActionListener () { 公共空间actionPerformed (ActionEvent e) { JFileChooser fc=new JFileChooser();//这个对象就是我们点击打开文件,出来的文件选择器 fc。setCurrentDirectory(新文件(“。”);//指定当前默认目录 fc.setFileSelectionMode (JFileChooser.FILES_AND_DIRECTORIES);//可以选择只打开文件或者文件夹 fc.setMultiSelectionEnabled(假);//是否允许多选文件 int i=fc.showOpenDialog (getContentPane ()); 如果(i==JFileChooser.APPROVE_OPTION){//判断是否打开 文件文件=fc.getSelectedFile ();//显示选中内容 jt.setText (fc.getSelectedFile () . getname ()); 尝试{ FileReader fr=new FileReader(文件); BufferedReader=新BufferedReader (fr); 字符串行=in.readLine();//读取txt文件中的内容 s=7指?" ");//以空格为分隔符,存储人名 NewMessage ();//监听事件 getjcomboBox();//监听事件 }捕捉(异常e1) { e1.printStackTrace (); } } } }); }
4。”关于“按钮监听事件