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

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 條評論)
暫無評論

返回頂部

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

    
    

    狠狠色综合日日| 欧美日韩精品一区二区在线播放| 亚洲激情成人| 国产精品免费在线| 欧美99在线视频观看| 午夜精品久久久久久久蜜桃app| 亚洲黄色影片| 国产一区二区三区久久久| 欧美黄色一区| 久久亚洲色图| 久久国产日本精品| 亚洲视频图片小说| 亚洲激情在线观看| 影音欧美亚洲| 激情久久综合| 国产性天天综合网| 国产精品美女久久久久av超清| 欧美精品一区二区视频| 久久久久久尹人网香蕉| 久久成人资源| 久久爱www久久做| 午夜精品亚洲| 亚洲欧美欧美一区二区三区| av成人国产| 中日韩午夜理伦电影免费| 亚洲精品久久嫩草网站秘色| 亚洲精品久久| 日韩一级网站| 一区二区毛片| 亚洲图片欧美一区| 夜色激情一区二区| 亚洲婷婷在线| 欧美一区二区三区播放老司机| 亚洲欧美第一页| 欧美一区二区大片| 欧美一区2区视频在线观看 | 国产女主播一区二区三区| 国产精品日本欧美一区二区三区| 国产精品久久午夜| 国产乱肥老妇国产一区二| 国产日产精品一区二区三区四区的观看方式 | 欧美日韩国产999| 欧美三区视频| 国产美女诱惑一区二区| 欧美国产成人在线| 欧美成人免费全部观看天天性色| 欧美电影免费网站| 欧美精品国产精品| 欧美午夜大胆人体| 国产一区二区观看| 亚洲国产欧美日韩| 国产精品99久久久久久宅男| 欧美一区二区三区啪啪| 久久人人97超碰人人澡爱香蕉 | 国产乱码精品一区二区三区忘忧草| 国产精品网站在线观看| 国产一区二区激情| 日韩视频在线一区二区三区| 亚洲天堂成人在线观看| 久久精品国产999大香线蕉| 欧美成人免费va影院高清| 国产精品久久久久久久久免费| 激情六月婷婷久久| 一区二区日韩免费看| 久久嫩草精品久久久精品一| 欧美日韩视频免费播放| 激情亚洲成人| 亚洲一区二区综合| 欧美 日韩 国产一区二区在线视频 | 国产精品激情av在线播放| 国产欧美日韩激情| 日韩午夜精品| 久久综合色一综合色88| 国产精品护士白丝一区av| 亚洲经典在线| 欧美在线观看一区二区三区| 欧美日韩蜜桃| 亚洲成人在线网| 欧美伊人久久| 国产精品视频99| 一二三区精品| 欧美高清你懂得| 136国产福利精品导航网址应用| 亚洲欧美电影在线观看| 欧美日韩国产成人在线免费| 亚洲高清在线| 久久一区中文字幕| 国产欧美精品一区| 亚洲在线1234| 国产精品av久久久久久麻豆网 | 欧美激情小视频| 亚洲大片av| 免费精品视频| 亚洲黄色有码视频| 男人的天堂亚洲| 亚洲欧洲精品一区二区三区不卡| 久久综合久久88| 在线精品视频一区二区| 久久亚洲视频| 亚洲精品欧美精品| 欧美日韩1区| 中文在线资源观看网站视频免费不卡| 欧美精品粉嫩高潮一区二区| 亚洲精品日韩精品| 欧美精品久久久久久久久老牛影院| 亚洲精品久久7777| 欧美日韩亚洲高清一区二区| 在线视频欧美一区| 国产精品美女久久福利网站| 欧美一区二区| 亚洲国产美国国产综合一区二区| 免费观看日韩av| 亚洲看片一区| 国产精品午夜在线| 久久精品国产96久久久香蕉| 黄色国产精品一区二区三区| 欧美成人一区在线| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 欧美在线视频一区二区三区| 国产私拍一区| 欧美肥婆在线| 亚洲欧美日韩一区二区| 国产欧美一区二区三区另类精品 | 亚洲高清免费视频| 欧美精品免费在线观看| 亚洲无线视频| 在线观看国产日韩| 欧美日韩一区二区欧美激情 | 国内精品久久久久久久97牛牛| 免费亚洲一区| 亚洲专区免费| 亚洲欧洲另类国产综合| 国产酒店精品激情| 欧美激情一区二区三区蜜桃视频| 亚洲女女女同性video| 狠狠入ady亚洲精品经典电影| 欧美激情区在线播放| 欧美一级片一区| 亚洲免费黄色| 国模吧视频一区| 国产精品a久久久久久| 久久久99国产精品免费| 一区二区激情小说| 在线精品视频一区二区| 国产精品制服诱惑| 欧美日韩国产123区| 蜜臀久久99精品久久久画质超高清 | 久久欧美肥婆一二区| 亚洲午夜电影网| 亚洲黄色免费电影| 含羞草久久爱69一区| 国产精品久久激情| 欧美精品日日鲁夜夜添| 久久在线免费| 久久精品成人一区二区三区 | 性欧美在线看片a免费观看| 亚洲国产精彩中文乱码av在线播放| 国产日本欧美一区二区三区| 欧美日韩调教| 欧美日韩中文字幕在线| 欧美高清在线视频观看不卡| 久久综合久久综合久久| 久久久久久久久久久久久久一区 | 亚洲欧美在线一区| 亚洲私人影院在线观看| 夜夜嗨av一区二区三区中文字幕 | 日韩视频免费| 日韩视频一区二区在线观看| 亚洲国产欧洲综合997久久| 国产综合色产在线精品| 好吊妞这里只有精品| 国内精品久久久久影院优| 国产亚洲aⅴaaaaaa毛片| 国产三级欧美三级日产三级99| 国产精品日韩欧美一区二区| 国产精品美女主播| 国产精品美女主播在线观看纯欲| 国产精品久久久久久久久| 国产精品福利av| 国产日韩欧美高清| 国产一区91| 在线免费不卡视频| 亚洲欧洲日韩综合二区| 9久re热视频在线精品| 亚洲一级在线观看| 午夜精品剧场| 久久综合色天天久久综合图片| 麻豆av一区二区三区久久| 免费在线观看日韩欧美| 欧美精品乱码久久久久久按摩| 国产精品video| 国内精品视频在线播放| 91久久久亚洲精品| 一区二区冒白浆视频| 欧美亚洲一区二区在线观看| 另类国产ts人妖高潮视频| 欧美精品乱码久久久久久按摩| 欧美午夜视频在线| 国产婷婷色一区二区三区在线 | 你懂的网址国产 欧美|