亚洲国产爱久久全部精品_日韩有码在线播放_国产欧美在线观看_中文字幕不卡在线观看

JAVA表白小程序


分析

3.7號,我們是女生節,班級準備給女生點禮物,我的直男想法就想到了抖音那種表白小程序,感覺或許挺好玩的,就開始制作了


  • 制作前先想想用什么語言寫比較好.備選項有Python,JAVA,Androidc,c++當時把情況一列我就覺得java的戲比較大.由于本人專業為軟件工程,這學期正好開始學習JAVA語言,而且前幾天的課就是搭建JAVA環境,所以用戶的環境是有的,python我們班也有編譯環境,但是據個人了解(或許有誤)需要python默認的包好像沒法實現,需要使用pygame包.而JAVAswing是默認包,無需另外配置環境了.至于剩余的C和C++個人使用較少,僅對起有一丟丟的理論了解,就不太考慮了,當然,如果忽略蘋果電腦,或許c,c++是更好的選擇,因為exe文件可直接window運行.Android好像也不錯,(其實網頁好像也可以?)這是我做完以后才想到了.
  • 決定用JAVA以后,我當然沒有立刻開始寫…我選擇了百度,哈哈哈,大家應該都能找到網上那段都是一樣的代碼,我把他拿下來改進一下.一下為我改進的代碼.

import java.awt.*;
import java.awt.event.*;
import java.net.URL;
import javax.swing.*;public class Girls extends JFrame{static int a = 0 ;static int exit = 0;static String[] str_exit = {"不要走嘛","嘗試挽留","真的要走嗎?","好吧,點1000次就給你走","騙你的,不忍心的嘻嘻","女生節快樂鴨!"};static String[] str = {"女生節不是在抵抗長大
而是在欣賞成熟的同時
依然可以保留女生的天真和活力
"
,"愿你,
喜愛甜食,也能吃得起生活的苦。愛掏網 - it200.com
"
,"不畏懼年紀,始終保持少女心。愛掏網 - it200.com","向陽而生,被世界溫柔以待。愛掏網 - it200.com","女生節快樂鴨!!"};public void creatJFrame(String title){JFrame jf;jf=new JFrame(title);Container container=jf.getContentPane();JLabel label=newJLabel(str[a]);label.setFont(new Font("宋體", 1, 25));URL url1 = getClass().getResource("a.jpg");URL url2 = getClass().getResource("b.jpg");URL url3 = getClass().getResource("c.jpg");URL url4 = getClass().getResource("d.gif");ImageIcon image1 = new ImageIcon("a.jpg");image1.setImage(image1.getImage().getScaledInstance(100, 100,Image.SCALE_DEFAULT ));ImageIcon image2 = new ImageIcon("b.jpg");image2.setImage(image2.getImage().getScaledInstance(100, 100,Image.SCALE_DEFAULT ));ImageIcon image3 = new ImageIcon("c.jpg");image3.setImage(image3.getImage().getScaledInstance(100, 100,Image.SCALE_DEFAULT ));ImageIcon image4 = new ImageIcon("d.gif");image4.setImage(image4.getImage().getScaledInstance(100, 100,Image.SCALE_DEFAULT ));JLabel label1=new JLabel(image1);JLabel label2=new JLabel(image2);JLabel label3=new JLabel(image3);JLabel label4=new JLabel(image4);//設置標簽文字居中label.setHorizontalAlignment(SwingConstants.CENTER);JButton btnY=new JButton("接著看");JButton btnN=new JButton("不看了");//添加按鈕監聽事件btnN.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubif(Girls.a>=4|| Girls.exit>=13)System.exit(0);if (a5)a++;label.setText(str[a]);}});btnY.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubif(Girls.a>=4|| Girls.exit>=13)System.exit(0);if (a5)a++;label.setText(str[a]);}});btnN.addMouseListener(new MouseListener(){//鼠標點擊、移上、移出、松開事件@Overridepublic void mouseClicked(MouseEvent arg0) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent arg0) {// TODO Auto-generated method stubbtnN.setText("接著看");}@Overridepublic void mouseExited(MouseEvent arg0) {// TODO Auto-generated method stubbtnN.setText("不看了");}@Overridepublic void mousePressed(MouseEvent arg0) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent arg0) {// TODO Auto-generated method stub}});btnY.setBounds(120, 260, 80, 30);btnN.setBounds(380, 260, 80, 30);label1.setBounds(25,0,150,150);label2.setBounds(300,10,150,150);label3.setBounds(500,130,100,100);label4.setBounds(0,160,100,100);container.add(btnY);container.add(btnN);container.add(label1);container.add(label2);container.add(label3);container.add(label4);container.add(label);jf.setSize(600, 400);jf.setResizable(false);jf.setVisible(true);jf.setLocationRelativeTo(null);jf.setDefaultCloseOperation(EXIT_ON_CLOSE);jf.addWindowListener(new MyWindowListener());}public static void main(String[] args) {Girls a =new Girls();a.creatJFrame("18軟工");}}class MyJDialog extends JDialog{public MyJDialog(){super(new JFrame(),"18軟工",true);Container c=getContentPane();JLabel label;if(Girls.exit4)label=new JLabel(Girls.str_exit[Girls.exit]);else if(Girls.exit>=4&& Girls.exit10)label=new JLabel(1004 - Girls.exit+"");elselabel=new JLabel(Girls.str_exit[Girls.exit-7]);Girls.exit++;label.setHorizontalAlignment(SwingConstants.CENTER);JButton btnY=new JButton("接著看");JButton btnN=new JButton("不看了");//添加按鈕監聽事件btnN.addMouseListener(new MouseListener(){//鼠標點擊、移上、移出、松開事件@Overridepublic void mouseClicked(MouseEvent arg0) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent arg0) {// TODO Auto-generated method stubbtnN.setText("接著看");}@Overridepublic void mouseExited(MouseEvent arg0) {// TODO Auto-generated method stubbtnN.setText("不看了");}@Overridepublic void mousePressed(MouseEvent arg0) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent arg0) {// TODO Auto-generated method stub}});//添加按鈕監聽事件btnN.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubif(Girls.a>=4|| Girls.exit>=13)System.exit(0);if (Girls.a5)Girls.a++;label.setText(Girls.str[Girls.a]);}});btnY.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubif(Girls.a>=4|| Girls.exit>=13)System.exit(0);if (Girls.a5)Girls.a++;label.setText(Girls.str[Girls.a]);}});btnY.setBounds(30, 100, 80, 30);btnN.setBounds(158, 100, 80, 30);c.add(btnY);c.add(btnN);c.add(label);setSize(300, 200);setResizable(false);this.addWindowListener(new MyWindowListener());this.setLocationRelativeTo(null);}}
class MyWindowListener extends WindowAdapter{//窗體關閉過程中觸發函數public void windowClosing(WindowEvent e){if(Girls.a>=4|| Girls.exit>=13)System.exit(0);new MyJDialog().setVisible(true);}
}

如果覺得太長懶得看的話,直接代碼復制粘貼就可以拿去用了,當然字要改一下.講一下遇到的一些問題已經改進.


  • 首先有一說一,這代碼我寫得跟屎山一樣…一切我都以能實現功能就好.大家不要寫我這么爛的代碼,重復度挺高的.
  • 說正題,原來的代碼點擊關閉后,就會彈出一個彈窗,但是彈窗再關閉就全關了,達不到類似整蠱的效果,解決方案也很簡單,當點擊彈窗的關閉時再彈出一個彈窗,這樣就能無限月讀了,達到無法關閉程序的效果,然后自己再根據實際情況,設置跳出的條件,System.exit(o)即可關閉程序.
  • 在label中無法\n換行,解決方案時html代碼,
    即可
  • 字體很丑,樣式也很丑,這是我對整個程序最不滿意的地方…但是也沒太大辦法解決,只是盡量沒那么丑
  • 圖片無法顯示的問題,圖片顯示的話,咱們肯定得用相對路徑才能發給別人用,但是這個相對路徑,是應該相對.class文件,還跟包名有一定關系,而且包名對后面的編譯也會有影響,個人蠢一點的解決方案是,將圖片放在.class的路徑下,網上比較好的解決方案是url的方法,我也定義在了上面,不過至于為什么最后沒用這個,稍后再說(這里有好幾個問題待解決)
  • 完成程序后,就應該想怎么發給用戶使用,盡量不使用集成開發環境會好點,所以就要手動編譯了,首先比較容易解決的是包的問題,直接把開頭的包全部刪除即可.然后編譯即可,但是多次嘗試java .class文件,始終無法找到主類,我百思不得其解,后來我通過java GIrls.java的方式編譯運行成功了.(具體原因待解)
  • 運行是運行出來了…可惜中文亂碼了…而且圖片沒有顯示…中文亂碼的問題比較好想到,我的編譯器是utf-8編碼,但是系統gbk編碼,所以亂碼是肯定的…所以百度utf-8轉gbk的網站,解決√但是,實際上應該有更好的解決方案,就是通過javac 指定編碼格式,然后再java 主類這樣才是最好的解決方法…可惜不知道為什么我沒法運行.class文件,報錯找不到主類(待解決)
  • 圖片不顯示的原因是因為相對路徑的原因,cmd進入文件的路徑即可.也不是很完美,實際上通過url的方法的話,就沒那么多麻煩了,但是也凌晨很晚了,腦子暈乎乎的,轉不起來了,只想著可以實現就好.
  • 最后,可以通過cmd運行了以后,用bat來處理一下就更方便了,將源碼和圖片放入一個文件夾a ,寫一個bat文件,cd a java Girls.java.然后再用一個文件夾把這兩個都裝起來.這樣就可以實現點擊bat文件運行程序了
  • 發上去給其他同學先試驗一下…結果第二天起床反應,找不到主類,然后通過javac 再java的方法可以正常運行…我就更加疑惑了…不過大部分人都是上面的情況,所以也以以上情況改寫一bat文件,就完工了.不過最后還是有一點小問題…可以通過關閉cmd窗口直接關閉整個程序…
    總的來說,一路上磕磕碰碰的,暴露了我的很多缺點,學習java時直接跳過了手動編譯,使用集成開發環境,導致自己對整個編譯過程并不熟悉.第二就是基礎知識還是很不扎實,需要多多練習,遇到問題多查查文檔.最后感謝看完整篇博客,如果有大神肯指點一下其中遇到的一些疑惑,感激不盡.如果沒有指點…那我也還是會自己去那里解決的,嘿嘿


更新:我去嘗試修復java 和 javac的問題,重新配置了一遍環境變量解決了.如果可以直接javac的話,可以javac -encoding Utf-8 Girls.java來解決亂碼的問題,用url代替直接的相對路徑,問題很簡單很多


聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

亚洲国产爱久久全部精品_日韩有码在线播放_国产欧美在线观看_中文字幕不卡在线观看

    
    

    9000px;">

      
      

      全国精品久久少妇| 国产亚洲制服色| 亚洲欧美日韩在线播放| 亚洲一区二区视频在线| 不卡的av中国片| 国产欧美日本一区二区三区| 偷拍自拍另类欧美| 91精品国产综合久久福利软件| 奇米精品一区二区三区在线观看| 777奇米四色成人影色区| 久久成人av少妇免费| 国产色综合久久| 91老师国产黑色丝袜在线| 亚洲一本大道在线| 日韩欧美在线观看一区二区三区| 日本成人超碰在线观看| 久久综合狠狠综合| 成人av高清在线| 一区二区三区成人在线视频| 欧美一级日韩一级| 国内精品视频666| 国产欧美一区二区三区鸳鸯浴 | 亚洲美女在线一区| 欧美日韩国产高清一区二区| 国产一区二区三区在线观看精品| 国产精品一区二区在线播放| 久久综合九色综合97婷婷| 国产精品伊人色| 日韩高清国产一区在线| 久久精品夜夜夜夜久久| 欧美亚洲高清一区| www.欧美精品一二区| 丝袜亚洲另类丝袜在线| 国产精品你懂的| 欧美一区二区视频网站| 成人国产精品免费网站| 五月开心婷婷久久| 国产精品久久久久久一区二区三区| 欧洲视频一区二区| 国产大陆亚洲精品国产| 一区二区在线看| 国产精品天美传媒沈樵| 91精品国产一区二区人妖| 91蜜桃在线免费视频| 日本va欧美va欧美va精品| 一区二区三区在线看| 国产精品国产三级国产普通话蜜臀| 在线不卡a资源高清| www.激情成人| 国产91精品精华液一区二区三区| 精品一区二区三区欧美| 奇米精品一区二区三区在线观看 | 久久久久国产精品厨房| 欧美日韩一区二区在线观看| 成a人片亚洲日本久久| 国产美女在线观看一区| 免费成人结看片| 蜜臀久久久久久久| 午夜精彩视频在线观看不卡| 亚洲国产精品一区二区久久恐怖片| 不卡的av中国片| 一本到三区不卡视频| 中文字幕在线一区二区三区| eeuss鲁片一区二区三区在线看| www国产成人| 国产精品一卡二卡在线观看| 中文字幕乱码日本亚洲一区二区| 成人综合在线观看| 一区二区三区中文字幕电影| 欧美日韩一级视频| 久久精品国产免费| 久久久久久久电影| 91美女视频网站| 亚洲妇女屁股眼交7| 日韩午夜av电影| 成人av网站免费| 日韩专区在线视频| 欧美激情一区二区三区| 色香蕉成人二区免费| 蜜臀久久99精品久久久久久9| 国产日韩影视精品| 欧美日韩精品一区二区天天拍小说| 美女mm1313爽爽久久久蜜臀| 国产日本亚洲高清| 欧美视频一二三区| 高清不卡一二三区| 亚洲h在线观看| 欧美激情一二三区| 91精品国产欧美一区二区| 懂色中文一区二区在线播放| 亚洲成人黄色影院| 国产精品乱人伦中文| 欧美人狂配大交3d怪物一区| 高潮精品一区videoshd| 亚洲美女少妇撒尿| 韩国视频一区二区| 亚洲电影第三页| 国产农村妇女毛片精品久久麻豆| 欧美中文字幕久久| 国产精品一二三区| 日韩国产高清影视| 亚洲女同女同女同女同女同69| 欧美一区二区三区啪啪| 国产传媒久久文化传媒| 亚洲午夜视频在线| 国产精品久久久久久久第一福利| 日韩欧美亚洲另类制服综合在线| av电影天堂一区二区在线| 青娱乐精品视频| 亚洲电影第三页| 中文字幕综合网| 久久嫩草精品久久久精品| 欧美精品vⅰdeose4hd| www.综合网.com| 亚洲视频图片小说| 国产人成亚洲第一网站在线播放| 91精品国产欧美日韩| 欧美日韩午夜在线| 欧美中文字幕一区| 色欲综合视频天天天| 国产69精品久久久久777| 久久电影网电视剧免费观看| 亚洲va在线va天堂| 一区二区三区免费在线观看| 久久久99精品久久| 欧美大片顶级少妇| 欧美一区二区精美| 欧美一区二区福利视频| 337p亚洲精品色噜噜狠狠| 精品视频全国免费看| 欧美影院一区二区三区| 在线一区二区三区四区五区| 99久久亚洲一区二区三区青草 | 极品少妇xxxx精品少妇| 奇米精品一区二区三区在线观看 | 欧美性一区二区| 欧美亚洲国产一区二区三区va| 91国内精品野花午夜精品| 欧美性大战xxxxx久久久| 欧美性受极品xxxx喷水| 欧美久久久久久蜜桃| 91精品国产91热久久久做人人| 88在线观看91蜜桃国自产| 91 com成人网| 蜜桃在线一区二区三区| 午夜电影久久久| 亚洲综合丁香婷婷六月香| 亚洲一级电影视频| 一区二区成人在线观看| 一区二区高清在线| 日韩精品高清不卡| 青青草国产成人av片免费| 看片的网站亚洲| 狠狠色综合色综合网络| 丁香一区二区三区| 91亚洲资源网| 欧美人狂配大交3d怪物一区| 欧美一级在线视频| 久久日韩精品一区二区五区| 精品久久久久久久久久久久久久久 | 九九**精品视频免费播放| 国产精品123区| 不卡视频一二三四| 欧美日韩一级片网站| 欧美一区二区三区四区视频| 久久影院视频免费| 国产精品丝袜久久久久久app| 亚洲精选一二三| 亚洲一区精品在线| 国产一区久久久| 91极品视觉盛宴| 337p日本欧洲亚洲大胆精品| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 国产福利一区在线观看| 91在线观看美女| 欧美一区二区视频免费观看| 国产精品三级av| 一区二区三区国产豹纹内裤在线| 久久成人免费网站| 在线精品观看国产| 国产女主播在线一区二区| 五月激情综合婷婷| 91日韩精品一区| 久久综合av免费| 日本在线不卡视频| 在线看不卡av| 综合精品久久久| 国产精品一区二区三区99| 欧美日韩久久久一区| 国产精品传媒在线| 韩日欧美一区二区三区| 欧美日韩精品欧美日韩精品一| 国产精品亲子伦对白| 蜜桃av噜噜一区二区三区小说| 在线亚洲免费视频| 国产精品入口麻豆九色| 韩国v欧美v亚洲v日本v| 日韩欧美一二三| 调教+趴+乳夹+国产+精品| 91国产免费观看|