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

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;">

      
      

      国产精品小仙女| 99re热这里只有精品视频| 国产日韩欧美一区二区三区乱码| 制服.丝袜.亚洲.中文.综合| 99精品国产视频| 国产成人精品免费网站| 经典一区二区三区| 国产一区二区三区在线看麻豆| 老司机免费视频一区二区| 图片区小说区国产精品视频| 亚洲自拍偷拍九九九| 亚洲美女免费在线| 亚洲精品视频自拍| 亚洲大片在线观看| 久久爱另类一区二区小说| 精品一区二区日韩| 国产在线精品视频| 成人精品视频一区| 日本乱码高清不卡字幕| 欧美性感一类影片在线播放| 欧美一级电影网站| 欧美韩国日本综合| 亚洲观看高清完整版在线观看| 视频一区欧美精品| 成人免费av资源| 在线观看精品一区| 久久久99久久| 亚洲激情五月婷婷| 美女看a上一区| 97久久久精品综合88久久| 欧美人成免费网站| 久久久精品天堂| 亚洲一二三区视频在线观看| www.欧美色图| 久久综合九色综合久久久精品综合| 亚洲男人都懂的| aaa欧美色吧激情视频| 精品视频一区二区不卡| 国产欧美一区二区三区在线老狼| 亚洲一区在线观看网站| 99精品欧美一区二区三区小说| 精品国产一区二区在线观看| 亚洲bt欧美bt精品| 欧美视频一区二区三区| 亚洲欧美韩国综合色| 成人免费观看男女羞羞视频| 久久免费看少妇高潮| 久久精品免费观看| 精品福利二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 欧美日韩情趣电影| 亚洲成人在线观看视频| 欧美中文字幕一二三区视频| 国产精品国产三级国产普通话99 | 成人成人成人在线视频| 国产性色一区二区| 99国产精品久久久久| 亚洲一二三四区| 91.xcao| 风间由美一区二区av101| 亚洲日本青草视频在线怡红院| 91免费观看视频| 午夜久久福利影院| 国产性做久久久久久| 色婷婷亚洲综合| 免费人成精品欧美精品| 久久综合丝袜日本网| 91啪亚洲精品| 久久99热狠狠色一区二区| 国产精品久久久久久久久免费桃花 | 欧美xxx久久| 国产一区二三区| 国产亚洲欧美一级| 欧美中文字幕亚洲一区二区va在线| 亚洲少妇30p| 26uuu成人网一区二区三区| fc2成人免费人成在线观看播放| 一区二区三区四区在线免费观看 | 91免费观看国产| 亚洲 欧美综合在线网络| 欧美一区二区免费视频| 国产在线不卡视频| 亚洲免费看黄网站| 国产欧美一区二区精品久导航| 91香蕉视频污在线| 久久精品理论片| 亚洲电影一区二区三区| 中文字幕国产一区| 国产欧美一区视频| 亚洲精品一区二区三区精华液| 69堂成人精品免费视频| 91精品国产一区二区三区蜜臀| 欧洲亚洲精品在线| 91成人在线精品| 欧美性感一区二区三区| 欧美日韩视频不卡| 欧美一区二区视频在线观看2022| 欧美日韩一级黄| 欧美日本视频在线| 欧美一级理论性理论a| 日韩一区二区三区电影| 久久久久97国产精华液好用吗| 国产日韩欧美综合在线| 国产日韩视频一区二区三区| 欧美激情一区在线观看| 中文字幕在线不卡视频| 洋洋av久久久久久久一区| 日本在线播放一区二区三区| 国产精品正在播放| 99久精品国产| 91精品国产高清一区二区三区蜜臀| 欧美一区国产二区| 国产精品三级在线观看| 亚洲福利一二三区| 免费成人在线观看视频| 丁香六月综合激情| 欧美日韩一区二区三区免费看| 亚洲精品在线观看网站| 亚洲自拍偷拍欧美| 国产99久久久国产精品| 8v天堂国产在线一区二区| 国产日韩精品久久久| 日韩精品91亚洲二区在线观看 | 五月天亚洲精品| 国产麻豆精品久久一二三| 91国产视频在线观看| 久久综合久久鬼色| 首页综合国产亚洲丝袜| 成人黄色大片在线观看| 欧美va亚洲va香蕉在线| 日韩国产在线观看一区| 91国偷自产一区二区三区成为亚洲经典| 日韩欧美在线综合网| 婷婷久久综合九色综合绿巨人| 粉嫩av一区二区三区在线播放 | 精品一区二区三区影院在线午夜 | 欧美三级电影网| 久久久精品中文字幕麻豆发布| 又紧又大又爽精品一区二区| 国产麻豆91精品| 欧美精品tushy高清| 亚洲精品videosex极品| 91福利小视频| 一区二区三区欧美激情| 99久久精品国产麻豆演员表| 精品av久久707| 亚洲午夜电影在线观看| 色网综合在线观看| 国产精品看片你懂得| 国产福利一区二区三区视频| 欧美精品日韩精品| 亚洲高清免费视频| 欧美在线视频你懂得| 夜夜嗨av一区二区三区中文字幕| 国产成人av电影| 久久无码av三级| 国产精品一级在线| 国产偷国产偷精品高清尤物| 99久久99久久综合| 一区二区三区中文字幕在线观看| 一本大道av伊人久久综合| 亚洲精品日日夜夜| 欧美成人福利视频| 粉嫩蜜臀av国产精品网站| 亚洲欧洲综合另类在线| 欧美美女一区二区三区| 成人中文字幕电影| 日本美女视频一区二区| 91精品免费在线| 国产精品99久久久久久有的能看| 一区二区视频在线看| 欧美日韩视频不卡| 国产盗摄精品一区二区三区在线 | 婷婷六月综合网| 精品捆绑美女sm三区| 成人app软件下载大全免费| 天使萌一区二区三区免费观看| 精品国产一区二区三区不卡| 91在线码无精品| 风间由美一区二区三区在线观看| 日韩av不卡一区二区| 精品国产91乱码一区二区三区| 在线视频你懂得一区| 色综合视频一区二区三区高清| 久久99蜜桃精品| 国产视频一区二区在线观看| 欧美日韩国产中文| 色综合一个色综合| 粉嫩av一区二区三区粉嫩| 美女视频第一区二区三区免费观看网站| 亚洲免费三区一区二区| 中文字幕的久久| 中文字幕在线不卡视频| 国产亚洲欧洲997久久综合 | 99精品在线观看视频| 久久精品久久99精品久久| 亚洲一区二区三区三| 亚洲午夜久久久久久久久电影网| 亚洲色图丝袜美腿| 亚洲免费成人av|