第十二周总结

    xiaoxiao2022-07-05  185

    越来越接近放假了,很多的课都已经结课了。这个星期体育课没有了,应用文写作也没有了。但是随之而来的考试也让我忙碌起来。这周心理课要看视频,相对于是期末考试了,但是没有看完。python课上讲的是GUI案例,弹出对话框那种,以前以为很难,但是看老师讲起来感觉也不是很难。知只是可能会在运用上会有一些困难,这个GUI在Java上面也是有相类似的知识点的。但是还没有讲到。老师给了我们一个随机选人的案例,也需要弹出对话框,只是可能比GUI又多了一些其他的知识。不知道自己什么时候才能很轻松的写出别人认为的这些基础知识啊。Java课这周讲的是input和output。看字面意思感觉是很简单的,但是在里面的内容还是觉得有一些难,感觉快要跟不上了啊,好难啊,以后怎么办啊。老师的案例是演示输入基础数据和计算后输出结果。好像那些操作差不多都是一样的,但是又有一些差别。这周老师让我们当场写一个小小的总结,那时候我才发现自己脑袋中的知识是有多么的少啊,可以说是一点都没有的那种,记不住事情。但是不管再难也要坚持下去。 MySQL也讲了新知识——子查询。看着老师讲就感觉很绕,下来以后写作业才发现,果不其然不是一般的绕啊!有些题是根本无从下手,就好像脑袋里面一团乱麻一样。不过还好也还是可以写作业的。 下面是随机点名程序的代码: package net.lsl.test;

    import javax.swing.; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import java.awt.; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.*; import java.util.Random;

    public class RandomCallRoll extends JFrame { //声明部分 static JFrame frmCallRoll; JPanel pnlCenter,pnlSouth,pnlContent; JLabel lblStudentName; JButton btnStart,btnStop,btnExit; String[] names; int studentNum; Random rnd; BufferedReader br; String nextLine; JList lstClass; String[] strClasses; JScrollPane scpClass; boolean m_bRunning; Thread thread;

    //构造方法 public RandomCallRoll(String title){ super(title); //调用父类构造方法 init();//调用初始化方法 } //初始化方法 private void init() { //创建组件 pnlCenter=new JPanel(); pnlSouth=new JPanel(); pnlContent=new JPanel(); lblStudentName=new JLabel("请点名"); btnStart=new JButton("开始"); btnStop=new JButton("停止"); btnExit=new JButton("退出"); rnd=new Random(); File dir=new File("src/net/lsl/test"); strClasses=dir.list(new MyFilter()); lstClass=new JList(strClasses); scpClass=new JScrollPane(lstClass,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); lstClass.setSelectedIndex(0); //选中列表框的第一项 this.setTitle("随机点名程序—"+strClasses[0]); //修改窗口标题 try { br=new BufferedReader(new FileReader("src/net/lsl/test/"+strClasses[0])); nextLine=br.readLine(); while(nextLine!=null){ studentNum++; nextLine=br.readLine(); } names=new String[studentNum]; br=new BufferedReader(new FileReader("src/net/lsl/test/"+strClasses[0])); nextLine=br.readLine(); int i=0; while(nextLine!=null){ names[i]=nextLine; i++; nextLine=br.readLine(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } //设置布局方式,添加组件 this.setContentPane(pnlContent); //将pnlContent设置为内容面板 pnlContent.setLayout(new BorderLayout()); //设置为边框布局 pnlContent.add(pnlCenter,"Center"); pnlContent.add(pnlSouth,"South"); pnlCenter.add(lblStudentName); pnlSouth.add(scpClass); pnlSouth.add(btnStart); pnlSouth.add(btnStop); pnlSouth.add(btnExit); //设置组件属性 pnlCenter.setBackground(Color.YELLOW); pnlSouth.setBackground(Color.YELLOW); lblStudentName.setForeground(Color.RED); lblStudentName.setFont(new Font("黑体",Font.BOLD,200)); btnStart.setFont(new Font("黑体",Font.BOLD,100)); btnStop.setFont(new Font("黑体",Font.BOLD,100)); btnExit.setFont(new Font("黑体",Font.BOLD,100)); //设置窗口属性 this.setVisible(true); //让窗口可见 this.setSize(700,500); //设置窗口大小 this.setResizable(false);//窗口不能更改大小 this.pack(); //使得窗口刚好能容纳一切组件 this.setLocationRelativeTo(null); //让窗口在屏幕居中(相对定位) //注册监听器+编写事件处理代码 this.addWindowListener(new WindowAdapter() { //继承式的匿名内部类 @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); btnExit.addActionListener(new ActionListener() { //接口式的匿名内部类 @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }); //开始按钮事件 btnStart.addActionListener(new ActionListener() {//接口式的匿名内部类 @Override public void actionPerformed(ActionEvent e) { thread=new Thread(new Runnable(){ @Override public void run() { while(m_bRunning){ lblStudentName.setText(names[Math.abs(rnd.nextInt())%names.length]); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }); thread.start(); m_bRunning=true; } }); //停止按钮单击事件 btnStop.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { m_bRunning=false; } }); //列表框选择事件 lstClass.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { if(e.getValueIsAdjusting()){ //表明鼠标按下还没释放 frmCallRoll.setTitle("随机点名程序—" +strClasses[lstClass.getSelectedIndex()]); //修改窗口标题 lblStudentName.setText("请点名"); studentNum=0; //对每个班级重新统计人数 try { br=new BufferedReader(new FileReader( "src/"+strClasses[lstClass.getSelectedIndex()])); nextLine=br.readLine(); while(nextLine!=null){ studentNum++; nextLine=br.readLine(); } names=new String[studentNum]; br=new BufferedReader(new FileReader( "src/"+strClasses[lstClass.getSelectedIndex()])); nextLine=br.readLine(); int i=0; while(nextLine!=null){ names[i]=nextLine; i++; nextLine=br.readLine(); } } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (IOException e2) { e2.printStackTrace(); } } } }); } //主方法 public static void main(String[] args) { frmCallRoll=new RandomCallRoll("随机点名程序"); }

    }

    //创建一个文件名过滤器,过滤txt文件 class MyFilter implements FilenameFilter{ @Override public boolean accept(File dir, String name) { if(name.endsWith(".txt")){ return true; }else{ return false; } } }

    最新回复(0)