小KTV学习-5
2015-12-21 19:47
176 查看
把最后一个界面层的删除敲完了
套路依旧不变,声明所需组件,对组件进行功能部署。
然后我到了最后,我要开始运行出来,看到底是什么样子,还有什么要修改的地方。来了
明白了,不是自己手把手写的,代码功能不知道干什么来用,现在这在main函数里面测试好难
不知道是怎么实现功能,oh my god
嘘淡定淡定
其实写了这个吧,如果放假让我来自己写一个图书管理系统,界面问题首先不要考虑的话
这KTV已经让我学习不少。但不知道的东西真的好多o(︶︿︶)o
import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.LookupOp; import java.io.File; import java.util.Iterator; import java.util.List; import java.util.Vector; import javax.swing.DefaultListModel; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.LookAndFeel; import javax.tools.Tool; public class Delete extends JFrame implements ActionListener{ List<Song> list=new Vector<Song>(); Oper op=new Oper(); File f=new File("F:Summer/java2/KTV.data"); //声明所需组件 JPanel jp1,jp2,jp3; JLabel ktv; JButton delete,quit; JList jlist; DefaultListModel df; JScrollPane jsp; JTextArea jta; public Delete(){ jp1=new JPanel(); jp2=new JPanel(); jp3=new JPanel(); ktv=new JLabel("./src/image/KTV7.jpg"); delete=new JButton("删除歌曲"); quit=new JButton("取消"); jta=new JTextArea(18, 33); df=new DefaultListModel(); jlist=new JList<>(df); jsp=new JScrollPane(jlist); jsp.add(jta); //获得容器 Container con=getContentPane(); //添加组件 con.add(jp1, BorderLayout.NORTH); con.add(jp2,BorderLayout.CENTER); con.add(jp3, BorderLayout.SOUTH); jsp.setPreferredSize(new Dimension(390, 200)); jp1.add(ktv); jp2.add(jsp,BorderLayout.CENTER); jp3.add(delete); jp3.add(quit); //对所对应的组件加监听 delete.addActionListener(this); quit.addActionListener(this); //设置属性 setTitle("删除歌曲"); setIconImage(Toolkit.getDefaultToolkit().createImage("./src/image/KTV3.jpg")); setLocation(300, 100); pack(); setVisible(false); if (f.exists()){ list=new Oper().read(); Iterator iter=list.iterator(); df.removeAllElements(); while (iter.hasNext()) df.addElement(iter.next()); } else JOptionPane.showMessageDialog(this, "没有内容"); } public void actionPerformed(ActionEvent e) { if (e.getSource().equals(quit)) setVisible(false); if (e.getActionCommand().equals("删除歌曲")){ for (int i=0;i<df.size();i++){ if (jlist.isSelectedIndex(i)){ String li=df.getElementAt(i).toString(); String s[]=li.split("\t"); String a[]=s[0].split(":"); int id=Integer.parseInt(a[1]); op.del(id); setVisible(false); } } } } }
套路依旧不变,声明所需组件,对组件进行功能部署。
然后我到了最后,我要开始运行出来,看到底是什么样子,还有什么要修改的地方。来了
明白了,不是自己手把手写的,代码功能不知道干什么来用,现在这在main函数里面测试好难
不知道是怎么实现功能,oh my god
嘘淡定淡定
其实写了这个吧,如果放假让我来自己写一个图书管理系统,界面问题首先不要考虑的话
这KTV已经让我学习不少。但不知道的东西真的好多o(︶︿︶)o
相关文章推荐
- 隔空取物——reflection
- 阿岳之_压缩和解压缩工具介绍篇
- 基于http协议的api接口对于客户端的身份认证方式以及安全措施
- 5个主流的HTML5开发工具
- Linux tty驱动学习 - 串口通信,UART及UART驱动概述
- WordCount 详解
- 第一个Servlet
- Java经典问题:传值与传引用?
- 递归,非递归
- Exchange证书错误导致本地邮箱用户无法接受到Office365用户邮件
- 排序算法4之归并排序
- 非java web 工程脚本案例
- 递归
- 使用装饰器模式动态设置Drawable的ColorFilter
- 生成窗口最大值数组 + 双端队列
- 代码常用工具
- cloudstack F5 管理
- openStreetMap学习网站
- cocoapods的安装和使用
- QT如何在点关闭按钮时执行一些操作