如果你还没有开始学java,那么想在两个月内做一个好的项目是有点不太现实的 语言是门艺术要靠时间堆积 你才能领会他的真谛 用的越多代码自然越精炼
但是毕业设计还要做 如果你要给你项目的话就没什么意思了 但是可以推荐你点课题
我初学java时候做的是购物网站 当然这个项目的关键地方就是购物车
还有其他的课题 像 浏览 学生用的教学管理系统等
要想做的美观 你就离不开js的一些ui框架 还有你要学的技术有很多 java 还有jsp ajax
如果你不想用框架 要学servlet 框架的话就要花更多的时间了 像 structs2 spring hibernate等等
还有最后必须要学的 就是sql 以及用java *** 作数据库 这些都是很基础的东西
最后点java的强项是web 不建议用java做其他的事情像gui编程的 那个远没有c++来的好看和强大
仅仅给你个参考
//Java Group Project_StudentManagement源码
//NetBeans IDE 65 环境
package studentmanager;
import javaawt;
import javaawtevent;
import javaxswing;
import javaio;
import javautil;
class Student implements javaioSerializable{
String number,name,specialty,grade,borth,sex;
public Student(){};
public void setNumber(String number){ thisnumber=number;}
public String getNumber(){ return number;}
public void setName(String name){ thisname=name;}
public String getName(){ return name;}
public void setSex(String sex){ thissex=sex;}
public String getSex(){ return sex;}
public void setSpecialty(String specialty){ thisspecialty=specialty;}
public String getSpecialty(){ return specialty;}
public void setGrade(String grade){ thisgrade=grade;}
public String getGrade(){ return grade;}
public void setBorth(String borth){ thisborth=borth;}
public String getBorth(){ return borth;}
}
public class StudentManager extends JFrame{
JLabel lb=new JLabel("录入请先输入记录,查询、删除请先输入学号,修改是对查询" +
"内容改后的保存!");
JTextField 学号,姓名,专业,年级,出生;
JRadioButton 男,女;
ButtonGroup group=null;
JButton 录入,查询,删除,修改,显示;
JPanel p1,p2,p3,p4,p5,p6,pv,ph;
Student 学生=null;
Hashtable 学生散列表=null;
File file=null;
FileInputStream inOne=null;
ObjectInputStream inTwo=null;
FileOutputStream outOne=null;
ObjectOutputStream outTwo=null;
public StudentManager(){
super("学生基本信息管理系统");
学号=new JTextField(10);
姓名=new JTextField(10);
专业=new JTextField(10);
年级=new JTextField(10);
出生=new JTextField(10);
group=new ButtonGroup();
男=new JRadioButton("男",true);
女=new JRadioButton("女",false);
groupadd(男);
groupadd(女);
录入=new JButton("录入");
查询=new JButton("查询");
删除=new JButton("删除");
修改=new JButton("修改");
显示=new JButton("显示");
录入addActionListener(new InputAct());
查询addActionListener(new InquestAct());
修改addActionListener(new ModifyAct());
删除addActionListener(new DeleteAct());
显示addActionListener(new ShowAct());
修改setEnabled(false);
p1=new JPanel();
p1add(new JLabel("学号:",JLabelCENTER));
p1add(学号);
p2=new JPanel();
p2add(new JLabel("姓名:",JLabelCENTER));
p2add(姓名);
p3=new JPanel();
p3add(new JLabel("性别:",JLabelCENTER));
p3add(男);
p3add(女);
p4=new JPanel();
p4add(new JLabel("专业:",JLabelCENTER));
p4add(专业);
p5=new JPanel();
p5add(new JLabel("年级:",JLabelCENTER));
p5add(年级);
p6=new JPanel();
p6add(new JLabel("出生:",JLabelCENTER));
p6add(出生);
pv=new JPanel();
pvsetLayout(new GridLayout(6,1));
pvadd(p1);
pvadd(p2);
pvadd(p3);
pvadd(p4);
pvadd(p5);
pvadd(p6);
ph=new JPanel();
phadd(录入);
phadd(查询);
phadd(修改);
phadd(删除);
phadd(显示);
file=new File("学生信息txt");
学生散列表=new Hashtable();
if(!fileexists()){
try{
FileOutputStream out=new FileOutputStream(file);
ObjectOutputStream objectOut=new ObjectOutputStream(out);
objectOutwriteObject(学生散列表);
objectOutclose();
outclose();
}
catch(IOException e){}
}
Container con=getContentPane();
consetLayout(new BorderLayout());
conadd(lb, BorderLayoutNORTH);
conadd(pv, BorderLayoutCENTER);
conadd(ph, BorderLayoutSOUTH);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBounds(100,100,600,300);
setVisible(true);
}
public static void main(String[] args) {new StudentManager();}
class InputAct implements ActionListener{
public void actionPerformed(ActionEvent e){
修改setEnabled(false);
String number="";
number=学号getText();
if(numberlength()>0){
try{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
学生散列表=(Hashtable)inTworeadObject();
inOneclose();
inTwoclose();
}
catch(Exception ee){Systemoutprintln("创建散列表出现问题!");}
if(学生散列表containsKey(number)){
String warning="该生信息已存在,请到修改页面修改!";
JOptionPaneshowMessageDialog(null,warning,"警告",
JOptionPaneWARNING_MESSAGE);
}//end if1
else{
String m="该生信息将被录入!";
int ok=JOptionPaneshowConfirmDialog(null,m,"确认",
JOptionPaneYES_NO_OPTION,JOptionPaneINFORMATION_MESSAGE);
if(ok==JOptionPaneYES_OPTION){
String name=姓名getText();
String specialty=专业getText();
String grade=年级getText();
String borth=出生getText();
String sex=null;
if(男isSelected()){sex=男getText();}
else{sex=女getText();}
学生=new Student();
学生setNumber(number);
学生setName(name);
学生setSpecialty(specialty);
学生setGrade(grade);
学生setBorth(borth);
学生setSex(sex);
try{
outOne=new FileOutputStream(file);
outTwo=new ObjectOutputStream(outOne);
学生散列表put(number,学生);
outTwowriteObject(学生散列表);
outTwoclose();
outOneclose();
}
catch(Exception ee){Systemoutprintln("输出散列表出现问题!");}
学号setText(null);
姓名setText(null);
专业setText(null);
年级setText(null);
出生setText(null);
}
}//end else1
}//end if0
else{
String warning="必须输入学号!";
JOptionPaneshowMessageDialog(null,warning,
"警告",JOptionPaneWARNING_MESSAGE);
}//end else0
}//end actionPerformed
}//end class
class InquestAct implements ActionListener{
public void actionPerformed(ActionEvent e){
String number="";
number=学号getText();
if(numberlength()>0){
try{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
学生散列表=(Hashtable)inTworeadObject();
inOneclose();
inTwoclose();
}
catch(Exception ee){Systemoutprintln("散列表有问题!");}
if(学生散列表containsKey(number)){
修改setEnabled(true);
Student stu=(Student)学生散列表get(number);
姓名setText(stugetName());
专业setText(stugetSpecialty());
年级setText(stugetGrade());
出生setText(stugetBorth());
if(stugetSex()equals("男")){男setSelected(true);}
else{女setSelected(true);}
}
else{
修改setEnabled(false);
String warning="该学号不存在!";
JOptionPaneshowMessageDialog(null,warning,
"警告",JOptionPaneWARNING_MESSAGE);
}
}
else{
修改setEnabled(false);
String warning="必须输入学号!";
JOptionPaneshowMessageDialog(null,warning,
"警告",JOptionPaneWARNING_MESSAGE);
}
}
}
class ModifyAct implements ActionListener{
public void actionPerformed(ActionEvent e){
String number=学号getText();
String name=姓名getText();
String specialty=专业getText();
String grade=年级getText();
String borth=出生getText();
String sex=null;
if(男isSelected()){sex=男getText();}
else{sex=女getText();}
Student 学生=new Student();
学生setNumber(number);
学生setName(name);
学生setSpecialty(specialty);
学生setGrade(grade);
学生setBorth(borth);
学生setSex(sex);
try{
outOne=new FileOutputStream(file);
outTwo=new ObjectOutputStream(outOne);
学生散列表put(number, 学生);
outTwowriteObject(学生散列表);
outTwoclose();
outOneclose();
学号setText(null);
姓名setText(null);
专业setText(null);
年级setText(null);
出生setText(null);
}
catch(Exception ee){
Systemoutprintln("录入修改出现异常!");
修改setEnabled(false);
}
}
}
class DeleteAct implements ActionListener{
public void actionPerformed(ActionEvent e){
修改setEnabled(false);
String number=学号getText();
if(numberlength()>0){
try{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
学生散列表=(Hashtable)inTworeadObject();
inOneclose();
inTwoclose();
}
catch(Exception ee){}
if(学生散列表containsKey(number)){
Student stu=(Student)学生散列表get(number);
姓名setText(stugetName());
专业setText(stugetSpecialty());
年级setText(stugetGrade());
出生setText(stugetBorth());
if(stugetSex()equals("男")){男setSelected(true);}
else{女setSelected(true);}
}
String m="确定要删除该学生的记录吗?";
int ok=JOptionPaneshowConfirmDialog(null,m,"确认",
JOptionPaneYES_NO_OPTION,JOptionPaneQUESTION_MESSAGE);
if(ok==JOptionPaneYES_OPTION){
学生散列表remove(number);
try{
outOne=new FileOutputStream(file);
outTwo=new ObjectOutputStream(outOne);
outTwowriteObject(学生散列表);
outTwoclose();
outOneclose();
学号setText(null);
姓名setText(null);
专业setText(null);
年级setText(null);
出生setText(null);
}
catch(Exception ee){Systemoutprintln(ee);}
}
else if(ok==JOptionPaneNO_OPTION){
学号setText(null);
姓名setText(null);
专业setText(null);
年级setText(null);
出生setText(null);
}
else{
String warning="该学号不存在!";
JOptionPaneshowMessageDialog(null,warning,
"警告",JOptionPaneWARNING_MESSAGE);
}
}
else{
String warning="必须输入学号!";
JOptionPaneshowMessageDialog(null,warning,
"警告",JOptionPaneWARNING_MESSAGE);
}
}
}
class ShowAct implements ActionListener{
public void actionPerformed(ActionEvent e){
new StudentShow(file);
}
}
class StudentShow extends JDialog{
Hashtable 学生散列表= null;
JTextArea 显示=null;
FileInputStream inOne=null;
ObjectInputStream inTwo=null;
File file=null;
public StudentShow(File file){
super(new JFrame(),"显示对话框");
thisfile=file;
显示=new JTextArea(16,30);
try{
inOne=new FileInputStream(file);
inTwo=new ObjectInputStream(inOne);
学生散列表=(Hashtable)inTworeadObject();
inOneclose();
inTwoclose();
}
catch(Exception ee){}
if(学生散列表isEmpty())显示append("目前还没有学生的信息记录!\n");
else{
显示setText("学号 姓名 性别 专业 年级 出生\n");
for(Enumeration enm=学生散列表elements();enmhasMoreElements();){
Student stu=(Student)enmnextElement();
String sex="";
if(stugetSex()equals("男"))sex="男";
else sex="女";
String str=stugetNumber()+","+stugetName()+","+sex+","
+stugetSpecialty()+","+stugetGrade()+","+stugetBorth()+"\n";
显示append(str);
}
}
JScrollPane scroll=new JScrollPane(显示);
Container con=getContentPane();
conadd("Center",scroll);
convalidate();
setVisible(true);
setBounds(200,200,400,300);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){setVisible(false);}
}
);
}
}
}
想要学好Java,需要有正确的学习路线,有坚持不懈的学习毅力,也需要有专业老师的指导,这样才能学得更好。那么,学习Java需要掌握哪些知识和技能呢?这里简单列举一些。
Java学习需要掌握的知识与技能:
1、Java SE部分 初级语法,面向对象,异常,IO流,多线程,Java Swing,JDBC,泛型,注解,反射等。
2、数据库部分,基础的sql语句,sql语句调优,索引,数据库引擎,存储过程,触发器,事务等。
3、前端部分, HTML5 CSS3 JS, HTML DOM Jquery BootStrap等。
4、Java EE部分,Tomcat和Nginx服务器搭建,配置文件,Servlet,JSP,Filter,Listener,>
互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,建议实地考察对比一下。
祝你学有所成,望采纳。
/
第一题
@author 我为足球狂
/
import javautilRandom;
import javatextDecimalFormat;
/
课程类 课程编号设定为7位随机任意字符串编码
/
class KeCheng {
public String KeChengID;
public String KeChengName;
/
以下为私有变量及其公开方法
/
private double FenShu; // 分数应设置为私有,保证安全
public void setFenShu(double fenshu) {
thisFenShu = fenshu;
}
public double getFenShu() {
return thisFenShu;
}
/
辅助指定输出格式
/
public void print() {
if (thisgetFenShu() < 10) {
DecimalFormat df = new DecimalFormat("#000");
Systemoutprintln("| 编号:" + thisKeChengID + " | 课名:"
+ thisKeChengName + " | 分数:" + dfformat(thisgetFenShu())
+ " | \n");
} else {
DecimalFormat df = new DecimalFormat("#0000");
Systemoutprintln("| 编号:" + thisKeChengID + " | 课名:"
+ thisKeChengName + " | 分数:" + dfformat(thisgetFenShu())
+ " | \n");
}
}
/
以下为构造方法
/
KeCheng() {
String kcID = (new GenerateSuiJiBianHao())randomString(7);// 此处7指课程编号长度,可自由修改
thisKeChengID = kcID;
thisKeChengName = "未指定";
thissetFenShu(-9999);
print();
}
KeCheng(String kechengName, double fenshu) {
String kcID = (new GenerateSuiJiBianHao())randomString(7);
thisKeChengID = kcID;
thisKeChengName = kechengName;
thissetFenShu(fenshu);
print();
}
}
/
以下产生随机课程编号的类
/
class GenerateSuiJiBianHao {
private static Random randGen = null;
private static char[] numbersAndLetters = null;
public static final String randomString(int length) {
if (length < 1) {
return null;
}
if (randGen == null) {
randGen = new Random();
numbersAndLetters = ("0123456789abcdefghijklmnopqrstuvwxyz"
+ "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")toCharArray();
}
char[] randBuffer = new char[length];
for (int i = 0; i < randBufferlength; i++) {
randBuffer[i] = numbersAndLetters[randGennextInt(71)];
}
return new String(randBuffer);
}
}
/
以下为主类
/
public class Course {
public static void main(String[] args) {
// 演示示例
Systemoutprint("\n");
Systemoutprintln("——————————————————————————————————————\n");
KeCheng kc1 = new KeCheng();
KeCheng kc2 = new KeCheng("自然地理学", 995);
// 10个随机指定课程名(四位字符串)和分数的示例
Systemoutprintln("—————————随机指定课程名(四位字符串)和分数示例——————————\n");
for (int i = 1; i < 10; i++) {
KeCheng kcGroup = new KeCheng(
(new GenerateSuiJiBianHao())randomString(4),
(new Random()nextDouble()) 100);
}
}
}
/
等我下午踢完球晚上回来继续答
/
连连看java源代码
import javaxswing;
import javaawt;
import javaawtevent;
public class lianliankan implements ActionListener
{
JFrame mainFrame; //主面板
Container thisContainer;
JPanel centerPanel,southPanel,northPanel; //子面板
JButton diamondsButton[][] = new JButton[6][5];//游戏按钮数组
JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮
JLabel fractionLable=new JLabel("0"); //分数标签
JButton firstButton,secondButton; //分别记录两次被选中的按钮
int grid[][] = new int[8][7];//储存游戏按钮位置
static boolean pressInformation=false; //判断是否有按钮被选中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标
int i,j,k,n;//消除方法控制
public void init(){
mainFrame=new JFrame("JKJ连连看");
thisContainer = mainFramegetContentPane();
thisContainersetLayout(new BorderLayout());
centerPanel=new JPanel();
southPanel=new JPanel();
northPanel=new JPanel();
thisContaineradd(centerPanel,"Center");
thisContaineradd(southPanel,"South");
thisContaineradd(northPanel,"North");
centerPanelsetLayout(new GridLayout(6,5));
for(int cols = 0;cols < 6;cols++){
for(int rows = 0;rows < 5;rows++ ){
diamondsButton[cols][rows]=new JButton(StringvalueOf(grid[cols+1][rows+1]));
diamondsButton[cols][rows]addActionListener(this);
centerPaneladd(diamondsButton[cols][rows]);
}
}
exitButton=new JButton("退出");
exitButtonaddActionListener(this);
resetButton=new JButton("重列");
resetButtonaddActionListener(this);
newlyButton=new JButton("再来一局");
newlyButtonaddActionListener(this);
southPaneladd(exitButton);
southPaneladd(resetButton);
southPaneladd(newlyButton);
fractionLablesetText(StringvalueOf(IntegerparseInt(fractionLablegetText())));
northPaneladd(fractionLable);
mainFramesetBounds(280,100,500,450);
mainFramesetVisible(true);
}
public void randomBuild() {
int randoms,cols,rows;
for(int twins=1;twins<=15;twins++) {
randoms=(int)(Mathrandom()25+1);
for(int alike=1;alike<=2;alike++) {
cols=(int)(Mathrandom()6+1);
rows=(int)(Mathrandom()5+1);
while(grid[cols][rows]!=0) {
cols=(int)(Mathrandom()6+1);
rows=(int)(Mathrandom()5+1);
}
thisgrid[cols][rows]=randoms;
}
}
}
public void fraction(){
fractionLablesetText(StringvalueOf(IntegerparseInt(fractionLablegetText())+100));
}
public void reload() {
int save[] = new int[30];
int n=0,cols,rows;
int grid[][]= new int[8][7];
for(int i=0;i<=6;i++) {
for(int j=0;j<=5;j++) {
if(thisgrid[i][j]!=0) {
save[n]=thisgrid[i][j];
n++;
}
}
}
n=n-1;
thisgrid=grid;
while(n>=0) {
cols=(int)(Mathrandom()6+1);
rows=(int)(Mathrandom()5+1);
while(grid[cols][rows]!=0) {
cols=(int)(Mathrandom()6+1);
rows=(int)(Mathrandom()5+1);
}
thisgrid[cols][rows]=save[n];
n--;
}
mainFramesetVisible(false);
pressInformation=false; //这里一定要将按钮点击信息归为初始
init();
for(int i = 0;i < 6;i++){
for(int j = 0;j < 5;j++ ){
if(grid[i+1][j+1]==0)
diamondsButton[i][j]setVisible(false);
}
}
}
public void estimateEven(int placeX,int placeY,JButton bz) {
if(pressInformation==false) {
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
pressInformation=true;
}
else {
x0=x;
y0=y;
fristMsg=secondMsg;
firstButton=secondButton;
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
if(fristMsg==secondMsg && secondButton!=firstButton){
xiao();
}
}
}
public void xiao() { //相同的情况下能不能消去。仔细分析,不一条条注释
if((x0==x &&(y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)&&(y0==y))){ //判断是否相邻
remove();
}
else{
for (j=0;j<7;j++ ) {
if (grid[x0][j]==0){ //判断第一个按钮同行哪个按钮为空
if (y>j) { //如果第二个按钮的Y坐标大于空按钮的Y坐标说明第一按钮在第二按钮左边
for (i=y-1;i>=j;i-- ){ //判断第二按钮左侧直到第一按钮中间有没有按钮
if (grid[x][i]!=0) {
k=0;
break;
}
else{ k=1; } //K=1说明通过了第一次验证
}
if (k==1) {
linePassOne();
}
}
if (y<j){ //如果第二个按钮的Y坐标小于空按钮的Y坐标说明第一按钮在第二按钮右边
for (i=y+1;i<=j ;i++ ){ //判断第二按钮左侧直到第一按钮中间有没有按钮
if (grid[x][i]!=0){
k=0;
break;
}
else { k=1; }
}
if (k==1){
linePassOne();
}
}
if (y==j ) {
linePassOne();
}
}
if (k==2) {
if (x0==x) {
remove();
}
if (x0<x) {
for (n=x0;n<=x-1;n++ ) {
if (grid[n][j]!=0) {
k=0;
break;
}
if(grid[n][j]==0 && n==x-1) {
remove();
}
}
}
if (x0>x) {
for (n=x0;n>=x+1 ;n-- ) {
if (grid[n][j]!=0) {
k=0;
break;
}
if(grid[n][j]==0 && n==x+1) {
remove();
}
}
}
}
}
for (i=0;i<8;i++ ) { //列
if (grid[i][y0]==0) {
if (x>i) {
for (j=x-1;j>=i ;j-- ) {
if (grid[j][y]!=0) {
k=0;
break;
}
else { k=1; }
}
if (k==1) {
rowPassOne();
}
}
if (x<i) {
for (j=x+1;j<=i;j++ ) {
if (grid[j][y]!=0) {
k=0;
break;
}
else { k=1; }
}
if (k==1) {
rowPassOne();
}
}
if (x==i) {
rowPassOne();
}
}
if (k==2){
if (y0==y) {
remove();
}
if (y0<y) {
for (n=y0;n<=y-1 ;n++ ) {
if (grid[i][n]!=0) {
k=0;
break;
}
if(grid[i][n]==0 && n==y-1) {
remove();
}
}
}
if (y0>y) {
for (n=y0;n>=y+1 ;n--) {
if (grid[i][n]!=0) {
k=0;
break;
}
if(grid[i][n]==0 && n==y+1) {
remove();
}
}
}
}
}
}
}
public void linePassOne(){
if (y0>j){ //第一按钮同行空按钮在左边
for (i=y0-1;i>=j ;i-- ){ //判断第一按钮同左侧空按钮之间有没按钮
if (grid[x0][i]!=0) {
k=0;
break;
}
else { k=2; } //K=2说明通过了第二次验证
}
}
if (y0<j){ //第一按钮同行空按钮在与第二按钮之间
for (i=y0+1;i<=j ;i++){
if (grid[x0][i]!=0) {
k=0;
break;
}
else{ k=2; }
}
}
}
public void rowPassOne(){
if (x0>i) {
for (j=x0-1;j>=i ;j-- ) {
if (grid[j][y0]!=0) {
k=0;
break;
}
else { k=2; }
}
}
if (x0<i) {
for (j=x0+1;j<=i ;j++ ) {
if (grid[j][y0]!=0) {
k=0;
break;
}
else { k=2; }
}
}
}
public void remove(){
firstButtonsetVisible(false);
secondButtonsetVisible(false);
fraction();
pressInformation=false;
k=0;
grid[x0][y0]=0;
grid[x][y]=0;
}
public void actionPerformed(ActionEvent e) {
if(egetSource()==newlyButton){
int grid[][] = new int[8][7];
thisgrid = grid;
randomBuild();
mainFramesetVisible(false);
pressInformation=false;
init();
}
if(egetSource()==exitButton)
Systemexit(0);
if(egetSource()==resetButton)
reload();
for(int cols = 0;cols < 6;cols++){
for(int rows = 0;rows < 5;rows++ ){
if(egetSource()==diamondsButton[cols][rows])
estimateEven(cols+1,rows+1,diamondsButton[cols][rows]);
}
}
}
public static void main(String[] args) {
lianliankan llk = new lianliankan();
llkrandomBuild();
llkinit();
}
}
//old 998 lines
//new 318 lines
参考资料:
《690战术核显卡的设计与实现》,好吧开个玩笑,其实毕设找个实用,常用的就行了。虽然什么图书管理系统,宿舍管理系统,成绩管理系统很老套,但是贵在实用,你可以更具实际情况来设计需求,增加功能,我想不是所有的图书管理系统都是一样的吧。再小的系统也是一个一系统,只要你认真做了,你就能有所收获。
import javaawt;
import javaawtevent;
import javaioIOException;import javaxswing;
import javaxmedia;public class VideoPlayer extends JFrame implements ActionListener,
ControllerListener {
FileDialog fd;
Player player = null;
String name;
String path;
Component comp, vc;
Image image=new ImageIcon("openGIF")getImage();
MenuBar mb = new MenuBar();
Menu m1 = new Menu("文件");
Menu m2 = new Menu("帮助");
MenuItem mi1 = new MenuItem("打开", new MenuShortcut(KeyEventVK_0));
MenuItem mi2 = new MenuItem("关闭");
MenuItem mi3 = new MenuItem("帮助");
JButton open=new JButton(new ImageIcon("openGIF")); public VideoPlayer() {
super("视屏播放器");
thissetMenuBar(mb);
mbadd(m1);
mbadd(m2);
m1add(mi1);
mi1addActionListener(this);
m1add(mi2);
mi2addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Systemexit(0);
}
});
m2add(mi3);
mi3addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPaneshowMessageDialog(null,
"Java视屏播放器\n2010年6月9日第一版\n制作人: 李攀");
}
});
thissetLayout(new BorderLayout());
thissetSize(800, 650);
thissetVisible(true);
thissetBackground(ColorBLACK);
thisaddWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
Systemexit(0);
}
});
} public static void main(String[] args) {
new VideoPlayer();
} public void actionPerformed(ActionEvent e) {
if (egetSource() == mi1) {
open();
}
} public void open() {
fd = new FileDialog(this, "打开媒体文件", FileDialogLOAD);
fdsetVisible(true);
path = fdgetDirectory();
name = fdgetFile();
if (!pathequals("") && path != null) {
try {
if (player != null)
playerclose();
player = ManagercreatePlayer(new MediaLocator("file:" + path
+ name));
} catch (Exception ex) {
exprintStackTrace();
JOptionPaneshowMessageDialog(null, "获取播放器失败!");
}
playeraddControllerListener(this);
playerprefetch();
playerstart();
}
} public void paint(Graphics g) {
gsetColor(ColorBLACK);
gfillRect(0, 0, 800, 650);
gsetColor(ColorGREEN);
gsetFont(new Font("宋体",FontBOLD,30));
gdrawString("欢迎使用",340,150);
gdrawImage(image,330,285,imagegetWidth(this),imagegetHeight(this),this);
}
public void update(Graphics g){
paint(g);
} public synchronized void controllerUpdate(ControllerEvent e) {
if (e instanceof RealizeCompleteEvent) {
if ((comp = playergetControlPanelComponent()) != null) {
vc = playergetVisualComponent();
if (vc != null)
add(vc);
add("South", comp);
compsetBackground(Colorgreen);
}
validate();
}
if (e instanceof ControllerClosedEvent) {
if (vc != null) {
remove(vc);
vc = null;
}
if (comp != null) {
remove(comp);
comp = null;
}
return;
}
if (e instanceof EndOfMediaEvent) {
playersetMediaTime(new Time(0));
playerstart();
return;
}
}
}
java的视屏播放要用到JMF(java media framework),你自己到网上去下一个嘛,而且那玩意支持的格式少,mpg,mpeg,sun的官方网站说支持AVI但是我试过了好像不行,至于rmvb那些好像不行,要装解码器。JMF在安装的时候要安装对哦,路径要选择对,不然不行,具体下载地址和安装方法可以百度一下,到处都是
以上就是关于有没有相对简单点的毕业设计题目,java类的~全部的内容,包括:有没有相对简单点的毕业设计题目,java类的~、求毕业设计及论文“基于Java的学生信息管理系统的设计与实现”、java都学什么,具体点的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)