Java+swing實現抖音上的表白程序詳解
帶你手把手,用 java swing實現抖音上的表白程序
1.準備工作
a.需要下載一個帶著swing插件的eclipse
b.需要配置好JDK
c.創建一個JFrame的項目(如下圖所示的步驟)
d.把資源文件放入與src所在的那個目錄
步驟如下:
1.先復制資源文件
2.粘貼文件
3.把jar文件放入Referenced Libraries文件夾下
這第3步的具體操作如何所示
那麼如何判斷添加是否成功呢?
解答:看Referenced Libraries下面是否出現瞭剛剛build path的
兩個文件,若出現瞭,則代表添加成功(成功的視圖如下所示:)
e.design界面和source界面主要是幹嘛的?
source界面用於寫源代碼,主要是用於寫觸發按鍵某一事件,需要進行簡單的邏輯判斷
design界面是通過可視化界面來幫我們進行界面的基本設計,直接拖拽即可,不用書寫那些定義、基本屬性的賦值這類的java代碼瞭
2.界面窗體的設計與實現
整體的按鈕的佈局應該如下圖所示
實現過程如下:
a.對窗體進行操作
//設置窗體關閉模式 exit-退出程序 do_nothing退出沒有任何操作 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設置窗體的大小和坐標 x y 寬度 高度 setBounds(100, 100, 584, 439); //居中顯示 setLocationRelativeTo(null); //設置窗體不可拖拽 setResizable(false); //設置窗體的圖標 setIconImage(new ImageIcon("love.png").getImage());
b.在design界面.根據剛剛的佈局分佈圖,把按鍵移動到合適位置
c.把gif圖片設置為相應為相應按鈕的圖標
lblNewLabel.setIcon(newImageIcon("E:\\Ueclipseworkspace\\love\\gfriend.gif"));
d.對剩下的組件進行顏色的設置
//以button按鈕為例,進行顏色的設置 //setforeground是設置控件裡面的字體顏色 btnNewButton.setForeground(Color.WHITE); //setbackground是設置控件裡面的背景顏色 btnNewButton.setBackground(Color.PINK); //setforeground是設置控件裡面字體類型以及字體大小 btnNewButton.setFont(new Font("微軟雅黑", Font.BOLD, 15));
3.對按鈕加上監聽事件
3.1 對"好的"這個按鈕加上鼠標點擊事件
3.1.1 在design界面對"好的"按鈕添加鼠標點擊事件
3.1.2 跳轉到resource界面後,對鼠標點擊事件加上具體操作
//鼠標點擊後就會彈出提示 FrameUtil.msg("好的,老婆我就知道你會同意的"); //結束程序 System.exit(0);
3.2 對"滾"這個按鈕加上鼠標進入事件
3.2.1 在design界面對"滾"按鈕添加鼠標進入事件
3.2.2 跳轉到resource界面後,對鼠標進入事件加上具體操作
//彈出信息框,不斷的挽留,不允許它退出程序 FrameUtil.msg("老婆大人,原諒我好嗎?"); FrameUtil.msg("我錯瞭,再也不敢把錢不上交瞭");
3.3 對"滾"這個按鈕加上鼠標點擊事件(點中隨機位置瞭)
3.3.1 在design界面對"滾"按鈕添加鼠標點擊事件
3.3.2 跳轉到resource界面後,對鼠標點擊事件加上具體操作
//當用戶點擊到滾按鈕的隨機位置時,也要進行一波挽留操作,不允許拒絕 //彈窗彈出挽留語句 FrameUtil.msg("老婆大人,原諒我好嗎?"); FrameUtil.msg("我錯瞭,再也不敢把錢不上交瞭");
4.設置滾按鈕的層級為最上面
無論怎麼移動,都是最上層
5.為界面添加一首背景音樂
//前提:需要把他人寫好的資源包build path到自己的項目中 //需要在窗體可見之前進行設置 FrameUtil.playMusic("嫁給我.mp3"); //當這首歌的路徑和src文件夾同級別時,這樣寫就可以瞭 //這個放的位置在方法體外面
6.源代碼
package demo; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import com.frame.util.FrameUtil; import javax.swing.JLabel; import javax.swing.ImageIcon; import java.awt.Color; import java.awt.Font; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.Random; public class Love extends JFrame { private JPanel contentPane; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Love frame = new Love(); //設置窗體不可見 // FrameUtil.playMusic("嫁給我.mp3"); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); FrameUtil.playMusic("嫁給我.mp3"); } /** * Create the frame. */ public Love() { //設置窗體的大小 setTitle("\u9ED1\u51E4\u68A8"); //設置窗體關閉模式 exit-退出程序 do_nothing退出沒有任何操作 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設置窗體的大小和坐標 x y 寬度 高度 setBounds(100, 100, 584, 439); //劇中顯示 setLocationRelativeTo(null); //設置窗體不可拖拽 setResizable(false); //設置窗體的圖標 setIconImage(new ImageIcon("love.png").getImage()); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); JButton button = new JButton("\u6EDA"); button.setForeground(Color.WHITE); button.setFont(new Font("微軟雅黑", Font.BOLD, 15)); button.setBackground(Color.PINK); button.setBounds(396, 273, 113, 27); button.addMouseListener(new MouseAdapter() { @Override public void mouseEntered(MouseEvent arg0) { Random random=new Random(); int x=random.nextInt(480); int y=random.nextInt(380); button.setBounds(x, y, 113, 27); } @Override public void mouseClicked(MouseEvent e) { FrameUtil.msg("老婆大人,原諒我好嗎?"); FrameUtil.msg("我錯瞭,再也不敢把錢不上交瞭"); } }); contentPane.add(button); JLabel lblNewLabel = new JLabel("New label"); lblNewLabel.setIcon(new ImageIcon("E:\\Ueclipse-workspace\\love\\gfriend.gif")); lblNewLabel.setBounds(14, 40, 200, 200); contentPane.add(lblNewLabel); JLabel lblNewLabel_1 = new JLabel("\u5C0F\u59D0\u59D0\u6211\u559C\u6B22\u4F60\u5F88\u4E45\u4E86"); lblNewLabel_1.setFont(new Font("微軟雅黑", Font.BOLD, 20)); lblNewLabel_1.setForeground(Color.PINK); lblNewLabel_1.setBounds(269, 57, 219, 73); contentPane.add(lblNewLabel_1); JLabel label = new JLabel("\u505A\u6211\u5973\u670B\u53CB\u597D\u5417?"); label.setForeground(Color.RED); label.setFont(new Font("微軟雅黑", Font.BOLD, 20)); label.setBounds(269, 167, 219, 73); contentPane.add(label); JButton btnNewButton = new JButton("\u597D\u7684"); btnNewButton.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { //JOptionPane.showMessageDialog(null,"我的"); FrameUtil.msg("好的,老婆我就知道你會同意的"); System.exit(0); } }); btnNewButton.setForeground(Color.WHITE); btnNewButton.setBackground(Color.PINK); btnNewButton.setFont(new Font("微軟雅黑", Font.BOLD, 15)); btnNewButton.setBounds(254, 272, 113, 27); contentPane.add(btnNewButton); } }
以上就是Java+swing實現抖音上的表白程序詳解的詳細內容,更多關於Java swing表白程序的資料請關註WalkonNet其它相關文章!