package com.ascent.supervcd.ui;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import com.ascent.supervcd.service.DataAccessor;
import com.ascent.supervcd.service.MusicDataAccessor;
import com.ascent.supervcd.service.MusicDataClient;
import com.ascent.supervcd.util.MusicRecording;
import com.ascent.supervcd.util.Recording;
public class MainFrame extends JFrame{
public MainFrame(){
super("欢迎使用SuperVCD信息管理系统");
load();
}
ArrayList recordings = new ArrayList();
JComboBox jcb = null ;
MusicDataClient mdc = null ;
JList list = new JList();
public void load(){
//第一步,选择容器
//JFrame frame = new JFrame();
//第二步,设置布局管理器,ManagerLayout
//frame.setLayout(new BorderLayout());
//第三步,添加组件对象
//---------------------------------------------------
// 1 创建菜单条 JMenuBar
JMenuBar menuBar = new JMenuBar();
// 2 创建菜单 JMenu
JMenu jfile = new JMenu("文件");
JMenuItem jopen = new JMenuItem("打开"); // 创建菜单项
JMenuItem jsave = new JMenuItem("保存");
JMenuItem jpreview = new JMenuItem("预览");
JMenuItem jprint = new JMenuItem("打印");
JMenuItem exit = new JMenuItem("退出");
exit.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e) {
setVisible(false);
dispose();
System.exit(0);
}
}
);
jfile.add(jopen); // 将菜单项加入到菜单中
jfile.add(jsave);
jfile.addSeparator(); // 添加一个分隔线
jfile.add(jpreview);
jfile.add(jprint);
jfile.addSeparator();
jfile.add(exit);
JMenu joption = new JMenu("选项");
JMenu jabout = new JMenu("关于");
JMenuItem about = new JMenuItem("帮助");
jabout.add(about);
// 3 将菜单添加到JMenuBar中
menuBar.add(jfile);
menuBar.add(joption);
menuBar.add(jabout);
this.setJMenuBar(menuBar);
//------------------------------------------------
JTabbedPane tabby = new JTabbedPane(JTabbedPane.TOP);
JPanel music = new JPanel();
music.setLayout(new BorderLayout());
JLabel label = new JLabel("请选择分类:");
mdc = new MusicDataClient();
ArrayList<String> categorynames = mdc.getCategories();
Vector<String> vs = new Vector<String>();
vs.add("------");
for(String name : categorynames){
vs.add(name);
}
jcb = new JComboBox(vs);
jcb.addItemListener(
new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(ItemEvent.SELECTED == e.getStateChange()){
String categoryname =(String)jcb.getSelectedItem();
if(categoryname.startsWith("--")){
recordings = new ArrayList();
}else{
recordings = mdc.getRecordings(categoryname);
}
list.setListData(new Vector(recordings));
}
}
}
);
list.setListData(new Vector(recordings));
final JFrame frame = this ;
JButton details = new JButton("详细...");
details.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
int index = list.getSelectedIndex();
MusicRecording r = (MusicRecording)recordings.get(index);
new MusicDetailsDialog(frame,r);
}
}
);
JButton clear = new JButton("清空");
JButton exitf = new JButton("退出");
exitf.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e) {
setVisible(false);
dispose();
System.exit(0);
}
}
);
JPanel top = new JPanel();
top.add(label);
top.add(jcb);
JPanel center = new JPanel();
center.setLayout(new BorderLayout());
center.add(list,BorderLayout.CENTER);
JPanel bottom = new JPanel();
bottom.add(details);
bottom.add(clear);
bottom.add(exitf);
music.add(top,BorderLayout.NORTH);
music.add(center,BorderLayout.CENTER);
music.add(bottom,BorderLayout.SOUTH);
JPanel game = new JPanel();
tabby.addTab("音乐", music);
tabby.addTab("游戏", game);
this.getContentPane().add(tabby,BorderLayout.CENTER);
//frame.add(tabby,BorderLayout.CENTER);
this.setSize(800, 600);
this.setLocation(200, 100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
SuperVCD(纯JAVA编程)
共74个文件
class:22个
java:17个
entries:10个
5星 · 超过95%的资源 需积分: 9 38 下载量 39 浏览量
2010-10-16
23:50:40
上传
评论 2
收藏 131KB ZIP 举报
温馨提示
SuperVCD Store是一个用纯Java技术开发的音乐及视频光盘销售系统。它由两部分组成: 前端光盘查询,及后端数据采集和传输。其中光盘查询模块提供了基于Swing技术的可视化图形界面,用户可以搜索要找的光盘类别,查看光盘的详细信息等等;数据采集和接收模块则负责读取光盘数据文件,并通过基于网络和多线程技术的机制传输数据。.
资源推荐
资源详情
资源评论
收起资源包目录
SuperVCD.zip (74个子文件)
SuperVCD
.project 390B
bin
com
ascent
supervcd
ui
MusicDetailsDialog.class 4KB
MainFrame$2.class 2KB
MusicEntryDialog.class 437B
MusicDetailsDialog$1.class 809B
TrackEntryDialog.class 437B
MusicPanel.class 301B
MainFrame$1.class 842B
MainFrame$3.class 1KB
MainFrame.class 4KB
MainFrame$4.class 842B
service
MusicDataAccessor.class 4KB
Test.class 545B
DataAccessor.class 1KB
Handler.class 3KB
MusicDataServer.class 2KB
MusicDataClient.class 3KB
StoneForestProtocol.class 364B
util
MusicRecording.class 3KB
Recording.class 2KB
Track.class 2KB
Duration.class 2KB
StoneForest.class 479B
CVS
Entries 243B
Repository 13B
Root 32B
.settings
CVS
Entries 60B
Repository 23B
Root 32B
org.eclipse.jdt.core.prefs 629B
music.db 4KB
src
CVS
Entries 11B
Repository 17B
Root 32B
com
CVS
Entries 14B
Repository 21B
Root 32B
ascent
CVS
Entries 16B
Repository 28B
Root 32B
supervcd
CVS
Entries 37B
Repository 37B
Root 32B
ui
MainFrame.java 5KB
MusicEntryDialog.java 239B
CVS
Entries 307B
Repository 40B
Root 32B
MusicPanel.java 67B
TrackEntryDialog.java 239B
MusicDetailsDialog.java 3KB
service
StoneForestProtocol.java 404B
DataAccessor.java 1KB
CVS
Entries 405B
Repository 45B
Root 32B
Handler.java 3KB
Test.java 246B
MusicDataClient.java 3KB
MusicDataAccessor.java 3KB
MusicDataServer.java 1KB
util
Duration.java 2KB
MusicRecording.java 2KB
CVS
Entries 285B
Repository 42B
Root 32B
StoneForest.java 360B
Recording.java 2KB
Track.java 1KB
images
CVS
Entries 44B
Repository 20B
Root 32B
zxy.jpg 94KB
.classpath 299B
共 74 条
- 1
资源评论
- zjy1233674982013-04-01项目需要,很好的代码,值得借鉴
- zhao009472012-11-13很好很强大,本想直接用,结果没改好,不过很值得学习
- wangxiao97272012-12-15感谢分享、做项目正需要
- 星河璀璨2013-12-09很好的代码,值得借鉴
- 楚囚.2018-08-28真的很不错
JB216
- 粉丝: 4
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功