발 렌 타인 데 이 여자친 구 자바 스윙 코드 프로그램
10656 단어 JavaSwing발 렌 타인 데 이
제 가 올해 발 렌 타인 데 이 때 여자친 구 에 게 쓴 간단 한 자바 스윙 코드 를 올 려 드 리 겠 습 니 다.주로 대화 상 자 를 정의 하여 여자친 구가 자신 을 좋아 하 는 지 아 닌 지 를 선택 하 게 합 니 다.만약 그녀 가"예"를 선택 했다 면,모두 크게 기뻐 할 것 이다.만약 그녀 가"아니오"를 선택 하고 싶다 면,킁 킁...캡 처 좀 봅 시다.
코드 효과 그림:
이제 쓸데없는 소리 하지 말고 코드 를 바로 올 려 라.새 버 전이 업로드 되 었 습 니 다.제 github 에서 코드 를 다운로드 하고 개선 하 는 것 도 환영 합 니 다.
또한 이 코드 는 발 렌 타인 데 이에 썼 기 때문에 대화 상자 제목 표시 줄 의 정보 도 발 렌 타인 데 이와 관련 이 있 습 니 다.다른 명절 에 사용 하려 면 몇 개의 문자열 만 수정 하면 됩 니 다.저 는 수정 해 야 할 부분 에 중국어 주석 을 달 았 기 때문에 대부분 쉽게 찾 을 수 있 습 니 다.그러나 내 가 주석 에 쓴 것 처럼 이 프로그램 은 기껏해야 너희 둘 사이 의 따뜻 한 농담 이다.오늘 밤 헤헤 하고 싶다 면 진정한 선물 은 준비 해 야 한다.)
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); // ,
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 , 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 ,
*/
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*/
이상 은 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 고 발 렌 타인 데 이 잘 보 내세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.