當前位置:首頁 » 專升本科 » 有關java的本科畢業論文

有關java的本科畢業論文

發布時間: 2021-03-12 13:10:41

A. 你好,基於java的畢業論文,有沒有新穎一點,簡單一點的選題推薦

可以使用springboot+vue開發一套簡單系統,與工業設備進行結合,對數據預警,設備操作等。

B. 誰有Java畢業論文

我也需要~~~

C. 找一個java 畢業論文方面的題目

網路五子棋

圖書管理系統

D. 求好心人給個基於java的畢業設計和論文

哈哈,這個太多了
說實話,javaweb的畢業設計說來說去就那麼些,比如那框架做一個管理系統,不要看這么多年都是這么些題目,但是對於大部分同學來說重新完整實現還是比較困難的
所以一般都是弄一個成品或者整合框架做二次開發,論文東拼西湊只要過了查重就可以了,look at my name,上面有好多項目源碼,希望你仔細找一下

E. 求一篇java方面的論文,4000到5000字

http://..com/question/53480757.html

參考一下這個

F. 求一個關於JAVA的論文

目 錄
一、概要設計……………………………………………………………3
二、程序整體設計說明…………………………………………….…..4
三、程序部分源代碼及注釋…………………………………………….9
四、測試結果………………………………………………………….24
五、設計心得…………………………………………………………25
六、致 謝…………………………………………………………25
七、參考文獻…………………………………………………………25

【摘 要】該程序是一個圖形界面的java文檔編輯器,其界面主要採用了awt包, 程序實現了文本編輯器的基本功能有:新建文件、打開文件、文件保存、文件另存為、剪切、復制、粘貼、刪除、查找/替換、改變字體大小,另外還利用Time類的schele方法實現了文件的定時自動更新功能,並創建備份文件,由於該編輯器是用的awt包,所以在技術上沒有實現將Java的關鍵字以不同顏色顯示功能。
【關鍵字】java 編輯器

一、概要設計
Java程序編輯器是:圖形界面、線程、流與文件等技術的綜合應用。
圖形界面的實現:考慮到簡單、實用、高效等特點,就選擇了AWT來完成實現,在選擇組件上,文本編輯區就選用了TaxtArea作為主要的部件。
線程實現文件自動保存:在相關的參考書上查閱到在Time類中有一個schele方法可以在後台自動完成一定的功能,而且調用起來相當簡單,於是就用了Time類中的schele方法來實現文件自動保存及備份功能。
文件操作的實現:利用了字元文件流FileReader和FileWriter類來實現。
由於Java的特性,可能用任何一個編輯器來編輯,於是就將Windows中的記事本作為模仿對象,根據實現情況刪減了其中的一些功能,如自動換行,設置字體,列印等功能。
在設計類的時候,考慮到簡單明了,就用了兩個類,一個主類和一個默認屬性類作為程序的整體框架,所有的對象和方法都是在默認屬性類中創建和實現的,以及為各組件注冊事件監聽程序也是在默認屬性類中實現的。主類完成對象的實例化及顯示。這們設計的優點是:條理清晰,容易理解,容易修改。這樣設計的缺點是:不利於共享類中的方法。

二、程序整體設計說明
2.1、程序框架圖

2.2、程序中所用類說明
(1)用戶自定義類
類名:EditInstantiation
作用:實例化對象
繼承的父類:WindowAdapter
主要成員變數:
Frame myFrm // 定義主窗體
TextArea myText // 定義文本編輯區
Dialog myDlgFind,myDlgFindont //查找及設置字體對話框
TextField TFfind, TFreplace, TffontSize
//查找對話框和字體窗體中的文本行
Button BfontOK, Bfind, Breplace, Bnext, Bcancel //定義和創建各按鈕
Label Lf, Lr, Ls //定義和創建各標簽
MenuBar Mbbar //定義和創建主菜單
Menu Mfile,Medit,Mformation,Mhelp //定義和創建主菜單中的選項
Toolkit toolKit
Clipboard myCB //剪切板對象
FileDialog myFDlg //定義文件對話框
Choice ChfontName //定義和創建字體選擇框
private int VIindex = 1; //構成文件名後綴變數
private String VSsubFixStr=".java"; //構成文件名擴展名變數
private String VSmyFileName = "Document1",VSmyBFileName;
//文件名及備份文件名變數
private File VFmyFile=new File(VSmyFileName+VIindex+".java");
//文件名變數
private int VIsearchPosition=0; //查找位置指針
private Timer VTtime; //實例化一個Time類
private int VImin=1; // schele方法中的一個時間參數
private int VItype=JOptionPane.INFORMATION_MESSAGE;
//提示對話框類型
private String VStitle; //提示對話框標題
private String VSmessage; //提示對話框信息
private boolean VBchanged = true; //改變字體的一個標識
private int VIfontSizeMin = 8, VIfontSizeMax = 40, VIfontSizeChangedStep = 2; //設置字體大小及步長

主要成員方法:
public void init() //初始化各部件菜單的定義和事件的監聽
public void displayEdit ()//顯示窗體及調用Time中的schele方法
public void windowClosing () //關閉窗體
public void save //保存文件方法
a.內部類類名:KeyEvents
作用:實現菜單的事件的響應功能
繼承的父類:KeyAdapter
主要成員變數:無
成員方法:actionPerformed()、keyPressed()

b.內部類類名:FindKeyEvent
作用:實現查找中各部件事件的響應功能
繼承的父類:無
主要成員變數:無
成員方法:actionPerformed ()
c.內部類類名:fontEvent
作用:實現字體中各部件事件的響應功能
繼承的父類:無
主要成員變數:無
成員方法:ItemListener(),ActionListener()
(2)用戶自定義類與Java類的繼承關系圖如下:
自定義類 Java 類

線程使用說明
2.3、實現介面方法
本程序用到的方法有:schele其方法描述如下:
schele(事件,啟動時間,間隔時間);
2.4、線程應用
本程序為文本編輯器,為實現自動更新,應用到了線程,每隔1分鍾對文件進行自動更新
2.5、異常處理說明
(1)打開文件時的異常處理
需要處理的異常:IOException
處理方法:捕獲異常後,顯示捕獲的異常
(2)保存文件時的異常處理
需要處理的異常:IOException
處理方法:捕獲異常後,顯示捕獲的異常

2.6、程序運行效果及存在的問題
(1)程序運行主要界面如下:
a、主界面

b、打開文件對話框

c、保存文件對話框

d、另存為文件對話框

e、查找/替換對話框

f.字體對話框

2.7.程序尚還存在的問題
我花費了近一個多星期的時間,查閱了許多相關的資料,終於把這個Java編輯器,程序基本實現了該課程設計的基本要求。但由於自己水平有限,使得程序還有不是很完善,首先,最重要的一點是該設計的最重要的功能自動改變java關鍵字的顏色沒有實現。
三、程序部分源代碼及注釋
//****************************************************
// class name :Edit
// implements :none
// extends :none
// attribute :public
// founction :entrance of the class
//*****************************************************
public class Edit{ //主類
public static void main(String args[]){
EditInstantiation myEdit= new EditInstantiation();
myEdit.init(); //初始化
myEdit.displayEdit(); //顯示窗體
}

//****************************************************
// class name :EditInstantiation
// implements :none
// extends :WindowAdapter
// attribute :default
// founction :EditInstantiation of the main class
//*****************************************************
class EditInstantiation extends WindowAdapter{ //默認屬性類
//define sources 定義各部件
Frame myFrm=new Frame("我的編輯器"); //定義窗體
TextArea myText=new TextArea(); //定義窗體
Dialog myDlgFind=new Dialog(myFrm,"查找",true); //定義查找對話框
Dialog myDlgFindont=new Dialog(myFrm,"字體",true); //定義字體對話框
TextField TFfind=new TextField(30);//定義查找對話中的查找輸入框
TextField TFreplace=new TextField(30); //定義查找對話中的替換輸入框
TextField TFfontSize,TFfontDemo;//定義字體大小文本框和示例框
Choice CHfontName;//定義字體大小選擇框
List LTfontSize; //定義字體大小標簽
Button BfontOK,BfontCancel; //定義字體大小對話中的確定及取消按鈕
Button Bfind=new Button("查找");//定義查找對話中的查找按鈕
Button Breplace=new Button("替換");//定義查找對話中的替換及取消按鈕
Button Bnext=new Button("下一個");//定義查找對話中的下一個及取消按鈕
Button Bcancel=new Button("取消");//定義查找對話中的確定及取消按鈕
Label Lf=new Label("查找內容:");
Label Lr=new Label("替換為: ");
Label Ls=new Label("字體大小:");
FileDialog myFDlg;
Clipboard myCB=Toolkit.getDefaultToolkit().getSystemClipboard(); //剪切板對象
Menu Mfile,Medit,Mformation,Mhelp;
MenuBar MBbar;

//define varities //定義各變數
private int VIindex = 1;
private String VSsubFixStr=".java";
private String VSmyFileName = "Document1",VSmyBFileName;
private File VFmyFile=new File(VSmyFileName+VIindex+".java");
private int VIsearchPosition=0;
private Timer VTtime;
private int VImin=1; // parameter in time schel
private int VItype=JOptionPane.INFORMATION_MESSAGE;
private String VStitle;
private String VSmessage;
// flag of the changeing
private boolean VBchanged = true;
// the scope of the font
private int VIfontSizeMin = 8, VIfontSizeMax = 40, VIfontSizeChangedStep = 2;

//************************************************
//founction name:init()
//parameter :none
//attribute :public
//founction :initia all compont
//************************************************
public void init(){ //初始化各部件
//------------------ set menu ------------------
MBbar=new MenuBar();
myFrm.setMenuBar(MBbar);
Mfile=new Menu("文件");
Medit=new Menu("編輯");
Mformation=new Menu("格式");
Mhelp=new Menu("幫助");

MBbar.add(Mfile);
MBbar.add(Medit);
MBbar.add(Mformation);
MBbar.add(Mhelp);

//文件菜單 add File menu
Mfile.add(new MenuItem("新建",new MenuShortcut(KeyEvent.VK_N)));
Mfile.add(new MenuItem("打開",new MenuShortcut(KeyEvent.VK_O)));
Mfile.add(new MenuItem("保存",new MenuShortcut(KeyEvent.VK_S)));
Mfile.add(new MenuItem("另存為"));
Mfile.addSeparator();//分隔線
Mfile.add(new MenuItem("退出",new MenuShortcut(KeyEvent.VK_E)));

//編輯菜單 add Edit menu
Medit.add(new MenuItem("剪切"));//,new MenuShortcut(KeyEvent.VK_X)));
Medit.add(new MenuItem("復制"));//new MenuShortcut(KeyEvent.VK_C)));
Medit.add(new MenuItem("粘貼"));//new MenuShortcut(KeyEvent.VK_V)));
Medit.add(new MenuItem("刪除"));//new MenuShortcut(KeyEvent.VK_D)));
Medit.addSeparator();//分隔線
Medit.add(new MenuItem("查找/替換",new MenuShortcut(KeyEvent.VK_F)));
Medit.addSeparator();//分隔線
Medit.add(new MenuItem("全選",new MenuShortcut(KeyEvent.VK_A)));

//格式菜單 add Formation menu
Mformation.add(new MenuItem("字體",new MenuShortcut(KeyEvent.VK_U)));

//幫助菜單 add Formation menu
Mhelp.add(new MenuItem("關於作者"));
//----------------- menu add end -------------------------
//add Menu Action Listener
Mfile.addActionListener(new KeyEvents());
Medit.addActionListener(new KeyEvents());
Mformation.addActionListener(new KeyEvents());
Mhelp.addActionListener(new FindKeyEvent());
//--------------------------- Find dialog-----------------
myDlgFind.setSize(350,115);
myDlgFind.setLocation(250,150);
myDlgFind.setLayout(new FlowLayout(FlowLayout.CENTER));
myDlgFind.setBackground(Color.LIGHT_GRAY);
Bfind.setEnabled(false);
Breplace.setEnabled(false);
Bnext.setEnabled(false);
myDlgFind.add(Lf);
myDlgFind.add(TFfind);
myDlgFind.add(Lr);
myDlgFind.add(TFreplace);
myDlgFind.add(Bfind);
myDlgFind.add(Breplace);
myDlgFind.add(Bnext);
myDlgFind.add(Bcancel);
myDlgFind.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
myDlgFind.setVisible(false);
}});//為查找對話框窗體注冊事件監聽
TFfind.addKeyListener(new KeyEvents());//注冊事件監聽
Bfind.addActionListener(new FindKeyEvent());
Breplace.addActionListener(new FindKeyEvent());
Bcancel.addActionListener(new FindKeyEvent());
Bnext.addActionListener(new FindKeyEvent());

//--------------- end add action listener ------------
//================set font dialog ==============
//font size text field
TFfontSize = new TextField("8",14);
TFfontSize.selectAll();

//font size list field
LTfontSize = new java.awt.List(5, false);
LTfontSize.addItemListener(new fontEvent());
for(int i = VIfontSizeMin; i <= VIfontSizeMax; i = i + VIfontSizeChangedStep)
LTfontSize.add(i + "");//添加字體大小
LTfontSize.select(0);
//two Button Ok Cancel
BfontOK = new Button("確定");
BfontOK.addActionListener(new fontEvent());
BfontCancel = new Button("取消");
BfontCancel.addActionListener(new fontEvent());
//a TextField for demo the font
TFfontDemo = new TextField("Java awt",37);
TFfontDemo.setEditable(false);
// my font dialog設置字體對話框
myDlgFindont.setLayout(new FlowLayout(FlowLayout.LEFT));
myDlgFindont.setBackground(Color.LIGHT_GRAY);
myDlgFindont.add(Ls);
myDlgFindont.add(TFfontSize);
myDlgFindont.add(BfontOK);
myDlgFindont.add(BfontCancel);
myDlgFindont.add(LTfontSize);
myDlgFindont.add(TFfontDemo);
myDlgFindont.setSize(300,200);
myDlgFindont.setLocation(300,200);
myDlgFindont.setResizable(false);
myDlgFindont.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
myDlgFindont.show(false);
}
}); //為字體對話框窗體注冊事件監聽
//=============end set font dialog
// =======set Edit frame設置編輯器窗休
myFrm.add(myText,BorderLayout.CENTER);
myFrm.setSize(500,400);
myFrm.setBackground(Color.lightGray);
myFrm.addWindowListener(this);
myFrm.setSize(500,400);
myFrm.setLocation(200,100);
myFrm.setTitle("Java編輯器");
}

//************************************************
//founction name:displayEdit()
//parameter :none
//attribute :public
//founction :initial and display the frame
//************************************************
public void displayEdit(){ //顯示窗體
myFrm.setVisible(true);
//---------------------- auto save ---------------------
VTtime = new Timer(true);
VTtime.schele(new java.util.TimerTask(){
public void run(){
if(VSmyFileName!=null){
save(VSmyFileName+".java");
VSmyBFileName=VSmyFileName+".bak";
} //添加自動保存功能
save(VSmyBFileName);
}
}, VImin*60*1000,VImin*60*1000);
//parament 1 the task
//parament 2 when to start the task
//parament 3 set the interval time }

//****************************************************
// class name :KeyEvents
// implements :ActionListener
// extends :KeyAdapter
// attribute :default
// founction :implement the mouse and key action
//*****************************************************
class KeyEvents extends KeyAdapter implements ActionListener{
//********************************************************
//founction name:actionPerformed()
//parameter :none
//attribute :public
//return :void
//founction :realize the key action in the menu
//*********************************************************
public void actionPerformed(ActionEvent e){
//完成菜單事件的功能
// File Menu
if (e.getActionCommand()=="新建"){
//remind you
JFrame aFrame=new JFrame();
aFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JOptionPane optionPane=new JOptionPane();
String choices[]={"是","否","取消"};
int n=optionPane.showOptionDialog(aFrame,"文件正文已更改,是否保存更改","文本編輯器",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE,null,choices,choices[0]);

//保存文件後新建
if(n==0){//若文件存在,保存在原文件中,再新建文件
try{

if(VFmyFile.exists()){
save(VSmyFileName); // call the save founction
myText.setText("");
VIindex++;
}
else{//若文件不存在,則保存後再新建
myFDlg=new FileDialog(myFrm,"保存文件",FileDialog.SAVE);
myFDlg.setFile(VSmyFileName);
myFDlg.show();
VSmyFileName=myFDlg.getDirectory()+myFDlg.getFile();
save(VSmyFileName);
myText.setText("");
VIindex++;
}
}
catch(Exception ne){}
}
//不保存文件新建
if(n==1){
myText.setText("");
VIindex++;
}
//取消新建
if(n==0){return;}
}
//打開菜單 Open Menu
if (e.getActionCommand()=="打開") {
myFDlg=new FileDialog(myFrm,"打開",FileDialog.LOAD);
myFDlg.show();
if (myFDlg.getFile()!="") {
VFmyFile=new File(myFDlg.getDirectory()+myFDlg.getFile());
VSmyFileName=myFDlg.getDirectory()+myFDlg.getFile();
if( VFmyFile.exists()){
try{
FileReader fr=new FileReader(VFmyFile);
BufferedReader br=new BufferedReader(fr);
String text;
myText.setText("");
while ((text=br.readLine())!=null)
myText.append(text+"\r\n");
br.close();
fr.close();
}
catch(IOException ioe){
VStitle="提示";
VSmessage="打開文件出錯";
JOptionPane.showMessageDialog(myFrm,VSmessage,VStitle,VItype);
}

}
}
}

//保存菜單 Save Menu
if (e.getActionCommand()=="保存"){
myFDlg=new FileDialog(myFrm,"保存文件",FileDialog.SAVE);
myFDlg.setFile(VSmyFileName);
myFDlg.show();
VSmyFileName=myFDlg.getFile();
if(VSmyFileName!=null){
VSmyFileName=myFDlg.getDirectory()+myFDlg.getFile();
save(VSmyFileName);
}
}

//另存為菜單 SaveAs Menu
if (e.getActionCommand()=="另存為"){
myFDlg=new FileDialog(myFrm,"文件另存為",1);
myFDlg.setFile(VSmyFileName);
myFDlg.show();
VSmyFileName=myFDlg.getFile();
if(VSmyFileName!=null){
VSmyFileName=myFDlg.getDirectory()+myFDlg.getFile();
save(VSmyFileName);
}
}

//退出菜單 exit Menu
if (e.getActionCommand()=="退出")
System.exit(0);

//編輯 Edit Menu
if (e.getActionCommand()=="剪切"){
//Cut
String text =myText.getSelectedText();
StringSelection selection = new StringSelection(text);
myCB.setContents(selection, null);
myText.replaceRange("",myText.getSelectionStart(),myText.getSelectionEnd());
}

if (e.getActionCommand()=="復制"){
//
String text=myText.getSelectedText();
if(text!=null){
StringSelection selection=new StringSelect

G. java 畢業論文

原創的
Q我談啊

熱點內容
四川農業大學申請考核博士 發布:2025-10-20 08:58:11 瀏覽:981
福田雷沃重工本科生待遇怎麼樣 發布:2025-10-20 08:53:49 瀏覽:575
華為要本科生嗎 發布:2025-10-20 08:25:41 瀏覽:550
2008年青島本科生工資 發布:2025-10-20 08:04:24 瀏覽:444
東北大學藝術考研 發布:2025-10-20 07:38:35 瀏覽:299
我的大學生活txt 發布:2025-10-20 07:35:28 瀏覽:25
人民大學外語系考研 發布:2025-10-20 07:31:12 瀏覽:894
上海交通大學考研輔導班 發布:2025-10-20 07:24:54 瀏覽:420
華中農業大學細胞生物學考研群 發布:2025-10-20 07:09:36 瀏覽:558
南京大學2016考研線 發布:2025-10-20 06:43:12 瀏覽:930