欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

情人節(jié)寫給女朋友Java Swing代碼程序

 更新時間:2018年02月12日 10:38:47   作者:阿笨爹  
這篇文章主要為大家分享了情人節(jié)寫給女朋友的java小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下,祝大家每天都是情人節(jié)

馬上又要到情人節(jié)了,再不解風情的人也得向女友表示表示。作為一個程序員,示愛的時候自然也要用我們自己的方式。

這里給大家上傳一段我在今年情人節(jié)的時候寫給女朋友的一段簡單的Java Swing代碼,主要定義了一個對話框,讓女友選擇是不是喜歡自己。如果她選了“是”,皆大歡喜,如果她想選“不”,哼哼。。??匆幌陆貓D吧。

代碼效果圖:


接下來不廢話,直接上代碼了。新版本已上傳,也歡迎大家到我的github上下載和改進代碼(點此轉到github)。

另外就是因為這個代碼當時是在情人節(jié)的時候寫的,對話框標題欄的信息也是與情人節(jié)相關,要想在其他的節(jié)日使用,只需要修改幾個字符串就可以了,我在需要修改的地方都打了中文注釋,大家可以很容易地找到。不過正如我在注釋里寫的那樣,這個程序頂多是你倆之間一個溫馨的小玩笑,你要是想今晚嘿嘿嘿的話,真正的禮物還是得備好哦: )

package gift_package; 
 
 
import java.awt.Container; 
import java.awt.Font; 
import java.awt.Toolkit; 
import java.awt.event.MouseEvent; 
import java.awt.event.MouseListener; 
import java.awt.event.WindowEvent; 
import java.awt.event.WindowListener; 
 
 
import javax.swing.JButton; 
import javax.swing.JDialog; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.SwingConstants; 
import javax.swing.WindowConstants; 
 
 
/** 
 * A funny code for your lover, which creates a frame that let her/him choose 
 * whether she/he loves you. If she/he choose 'YES', everythingis normal, but 
 * if she/he tries to choose 'NO', something interestingwould happen. First, 
 * the 'NO' button would change its position, it lookes like it attemps to escape 
 * from being clicked. After a couple of rounds, if she/he still want to click 
 * 'NO' button, the 'NO' button and 'YES' button will exchange their position. 
 * Besides, the window will cannot be closed untill the 'YES' button is clicked. 
 * 
 * To use this code, please make sure her/his computer has installed the JRE. 
 * 
 * Note that this code is just a little joke, DO NOT USE IT AS A REAL VALENTIN'S 
 * DAY GIFT, if you want to get laid at Valentin's Day, use ROSE, WINE and FANCY 
 * RESTAURANT, if you want to keep your mate's love, use YOUR HEART. 
 * 
 * @author rainman_zjd 
 * @version initialt version, 2016.3.20 
 */ 
public class HappyValentinsDay extends JFrame { 
 
 
  private static final long serialVersionUID = 1L; 
 
 
  private JLabel   label; 
  private JButton  button1; 
  private JButton  button2; 
  private JDialog  dialog1; 
 
 
  private int enterCount = 0; 
  private boolean chooseFlag = false; 
 
 
  public static final int screenWidth =  
      (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth(); 
  public static final int screenHeight =  
      (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight(); 
 
 
  public HappyValentinsDay() { 
    label  = new JLabel("Hi, my name is rainman_zjd, I love you, do you love me?", SwingConstants.CENTER); // 自行修改 
    button1 = new JButton("No, I don't!"); // 按鈕1 
    button2 = new JButton("Yes, I do!");  // 按鈕2 
    dialog1 = new JDialog(this);      // 創(chuàng)建一個新的對話框,并設置父窗口為當前窗體 
    windowInitial(); 
    setWindowListener(); 
  }// constructor 
 
 
  public HappyValentinsDay(String labelTxt, String bt1Txt, String bt2Txt) { 
    label  = new JLabel(labelTxt, SwingConstants.CENTER); 
    button1 = new JButton(bt1Txt); 
    button2 = new JButton(bt2Txt); 
    dialog1 = new JDialog(this); 
    windowInitial(); 
    chooseFlag = true; 
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); 
    setVisible(true); 
  }// constructor_String 
 
 
  /** 
   * 窗體初始化,使用的是絕對布局 
   */ 
  private void windowInitial() { 
    setDialog(dialog1, "Awesome!", "Meeting you is the luckest thing in my life!"); // 自行修改 
 
 
    label.setFont(new Font("", Font.BOLD, 17)); 
    label.setBounds(0, 30, 480, 20); 
     
    /** 
     * 以匿名內部類的方式為按鈕1添加鼠標事件監(jiān)聽器,當鼠標進入按鈕1后將突然改變自己的位置 
     */ 
    button1.addMouseListener(new MouseListener() {  
      @Override 
      public void mouseReleased(MouseEvent e) {return;}       
      @Override 
      public void mousePressed(MouseEvent e) {return;}       
      @Override 
      public void mouseExited(MouseEvent e) {return;}       
      @Override 
      public void mouseEntered(MouseEvent e) { 
        switch(enterCount) { 
        case 0: 
          button1.setBounds(75, 60, 110, 30); 
          HappyValentinsDay.this.repaint(); 
          ++enterCount; 
          break; 
        case 1: 
          button1.setBounds(75, 110, 110, 30); 
          HappyValentinsDay.this.repaint(); 
          ++enterCount; 
          break; 
        case 2: 
          button1.setBounds(155, 60, 110, 30); 
          HappyValentinsDay.this.repaint(); 
          ++enterCount; 
          break; 
        case 3: 
          button1.setBounds(75, 110, 110, 30); 
          HappyValentinsDay.this.repaint(); 
          ++enterCount; 
          break; 
        case 4: 
          button1.setBounds(310, 110, 110, 30); 
          button2.setBounds(75, 110, 110, 30); 
          HappyValentinsDay.this.repaint(); 
          ++enterCount; 
          break; 
        case 5: 
          button1.setBounds(75, 110, 110, 30); 
          button2.setBounds(310, 110, 110, 30); 
          HappyValentinsDay.this.repaint(); 
          enterCount = 0; 
          break; 
        }// seitch_entercount 
      }// mouseEntered       
      @Override 
      public void mouseClicked(MouseEvent e) { 
        dialog1.setVisible(true); 
        setDefaultCloseOperation(DISPOSE_ON_CLOSE); 
      }// mouseClicked 
    });// MouseListener 
     
    button1.setBounds(70, 110, 110, 30); 
    button1.setFont(new Font("", Font.BOLD, 13)); 
     
    /** 
     * 以匿名內部類的方式為按鈕2添加鼠標事件監(jiān)聽器,按下時顯示對話框 
     */ 
    button2.addMouseListener(new MouseListener() {    
      @Override 
      public void mouseReleased(MouseEvent e) {return;}       
      @Override 
      public void mousePressed(MouseEvent e) {return;}       
      @Override 
      public void mouseExited(MouseEvent e) {return;}       
      @Override 
      public void mouseEntered(MouseEvent e) {return;}       
      @Override 
      public void mouseClicked(MouseEvent e) { 
        dialog1.setVisible(true); 
        chooseFlag = true; 
        setDefaultCloseOperation(DISPOSE_ON_CLOSE); 
      }// mouseClicked 
    });// MouseListener 
    button2.setBounds(310, 110, 110, 30); 
    button2.setFont(new Font("", Font.BOLD, 13)); 
 
 
    Container c = getContentPane(); 
    c.setLayout(null); 
    c.add(label); 
    c.add(button1); 
    c.add(button2); 
    setTitle("Happy Valentin's Day!"); // 自行修改 
    setBounds(screenWidth/2-250, screenHeight/2-100, 500, 200); 
    setResizable(false); 
    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); 
  }// windowInitial 
 
 
  /** 
   * 設置對話框屬性 
   * @param diag 
   * @param tittle 
   * @param txt 
   */ 
  private void setDialog(JDialog diag, String tittle, String txt) { 
    JLabel diagLabel = new JLabel(txt, SwingConstants.CENTER); 
    diagLabel.setFont(new Font("", Font.BOLD, 17)); 
    diagLabel.setBounds(0, 40, 430, 20); 
    JButton diagBut = new JButton("Confirm"); 
    diagBut.setFont(new Font("", Font.BOLD, 14)); 
    diagBut.setBounds(155, 100, 100, 30); 
    diagBut.addMouseListener(new MouseListener() {       
      @Override 
      public void mouseReleased(MouseEvent e) {return;}             
      @Override 
      public void mousePressed(MouseEvent e) {return;}             
      @Override 
      public void mouseExited(MouseEvent e) {return;}            
      @Override 
      public void mouseEntered(MouseEvent e) {return;}      
      @Override 
      public void mouseClicked(MouseEvent e) { 
        diag.dispose(); 
        if (chooseFlag) 
          System.exit(0); 
      }// mouseClicked 
    }); 
    diag.setTitle(tittle); 
    diag.setBounds(screenWidth/2-225, screenHeight/2-100, 450, 200); 
    diag.setLayout(null); 
    diag.add(diagBut); 
    diag.add(diagLabel); 
  }// setDialog 
  /** 
   * 設置單擊窗口關閉按鈕時的動作 
   */ 
  private void setWindowListener() { 
    this.addWindowListener(new WindowListener() {       
      @Override 
      public void windowOpened(WindowEvent e) {return;}      
      @Override 
      public void windowIconified(WindowEvent e) {return;}       
      @Override 
      public void windowDeiconified(WindowEvent e) {return;} 
      @Override 
      public void windowDeactivated(WindowEvent e) {return;} 
      @Override 
      public void windowClosed(WindowEvent e) {return;}      
      @Override 
      public void windowActivated(WindowEvent e) {return;} 
      @Override 
      public void windowClosing(WindowEvent e) { 
        if(!chooseFlag) { 
          String labelTxt = "Is your default choose \"Yes, I do!\"?"; // 自行修改 
          new HappyValentinsDay(labelTxt, "NO", "YES"); 
        }// if 
      }// windowClosing 
    });// WindowListener 
  }// setWindowListener 
 
 
  public static void main(String[] args) { 
    HappyValentinsDay myApp = new HappyValentinsDay(); 
    myApp.setVisible(true); 
  }// main 
 
 
}/*HappyValentinsDay*/ 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家,祝大家情人節(jié)快樂

相關文章

  • SpringBoot解決ajax跨域問題的方法

    SpringBoot解決ajax跨域問題的方法

    這篇文章主要為大家詳細介紹了SpringBoot解決ajax跨域問題的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • spring mvc實現文件上傳并攜帶其他參數的示例

    spring mvc實現文件上傳并攜帶其他參數的示例

    本篇文章主要介紹了spring mvc實現文件上傳并攜帶其他參數的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 使用SpringBoot跨系統(tǒng)調用接口的方案

    使用SpringBoot跨系統(tǒng)調用接口的方案

    這篇文章主要介紹了使用SpringBoot跨系統(tǒng)調用接口的方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Java實現超市會員管理系統(tǒng)

    Java實現超市會員管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Java實現超市會員管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java利用File類創(chuàng)建文件的示例代碼

    Java利用File類創(chuàng)建文件的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Java中的File類創(chuàng)建文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • PowerJob的OmsLogHandler工作流程源碼解析

    PowerJob的OmsLogHandler工作流程源碼解析

    這篇文章主要為大家介紹了PowerJob的OmsLogHandler工作流程源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • spring boot@EnableXXXX注解編程模型講解

    spring boot@EnableXXXX注解編程模型講解

    這篇文章主要介紹了spring boot@EnableXXXX注解編程模型,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 使用工具類-java精確到小數點后6位

    使用工具類-java精確到小數點后6位

    這篇文章主要介紹了使用工具類-java精確到小數點后6位,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • java中的Reference和引用類型實例精講

    java中的Reference和引用類型實例精講

    這篇文章主要為大家介紹了java中的Reference和引用類型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • SpringBoot Validation入參校驗國際化的項目實踐

    SpringBoot Validation入參校驗國際化的項目實踐

    在Spring Boot中,可以使用Validation和國際化來實現對入參的校驗,本文就來介紹一下SpringBoot Validation入參校驗國際化,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10

最新評論