


Cara menggunakan Java+swing untuk melaksanakan program pengakuan pada Douyin
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); } }
Atas ialah kandungan terperinci Cara menggunakan Java+swing untuk melaksanakan program pengakuan pada Douyin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apabila menggunakan modul ArgParse, parameter yang mesti disediakan dapat dicapai dengan menetapkan yang diperlukan = benar. 1. Gunakan diperlukan = benar untuk menetapkan parameter pilihan (seperti -input) yang diperlukan. Jika tidak disediakan semasa menjalankan skrip, ralat akan dilaporkan; 2. Parameter kedudukan diperlukan secara lalai, dan tidak perlu ditetapkan diperlukan = benar; 3. Adalah disyorkan untuk menggunakan parameter kedudukan untuk parameter yang diperlukan. Kadang -kadang, parameter pilihan yang diperlukan = benar digunakan untuk mengekalkan fleksibiliti; 4. Diperlukan = benar adalah cara yang paling langsung untuk mengawal parameter. Selepas digunakan, pengguna mesti menyediakan parameter yang sepadan apabila memanggil skrip, jika tidak, program akan mendorong ralat dan keluar.

ThebestJavaIDEin2024dependsonyourneeds:1.ChooseIntelliJIDEAforprofessional,enterprise,orfull-stackdevelopmentduetoitssuperiorcodeintelligence,frameworkintegration,andtooling.2.UseEclipseforhighextensibility,legacyprojects,orwhenopen-sourcecustomizati

CommentsInjavaareignoredbythecompilerandusedfiShorplanation, nota, ordisablingcode.therearethreetypes: 1) single-linecommentsstartwith // andlastuntiltheendoftheline;

Dalam springboot, kaedah untuk pemprosesan parameter permintaan termasuk: 1. Gunakan @RequestParam untuk mendapatkan parameter pertanyaan, yang menyokong nilai yang diperlukan, pilihan dan lalai; 2. Menerima pelbagai parameter nama yang sama melalui senarai atau jenis peta; 3. Mengikat pelbagai parameter ke objek yang digabungkan dengan @ModeLattribute; 4. Gunakan @Pathvariable untuk mengekstrak pembolehubah dalam laluan URL; 5. Gunakan @RequestParam untuk memproses data borang dalam permintaan pos; 6. Gunakan peta untuk menerima semua parameter permintaan. Pemilihan anotasi yang betul dapat menghuraikan data yang diminta dengan cekap dan meningkatkan kecekapan pembangunan.

Inti menggunakan javahttpclientapi adalah untuk membuat httpclient, membina httprequest, dan memproses httpresponse. 1. Gunakan httpclient.newhttpClient () atau httpclient.newbuilder () untuk mengkonfigurasi waktu, proksi, dan lain -lain untuk membuat pelanggan; 2. Gunakan httprequest.newbuilder () untuk menetapkan uri, kaedah, header dan badan untuk membina permintaan; 3. Hantar permintaan segerak melalui klien. 4. Gunakan bodyhandlers.ofstr

Gunakan .equals () untuk membandingkan kandungan rentetan, kerana == hanya membandingkan rujukan objek dan bukannya aksara sebenar; 2. Gunakan .equalsignorecase () apabila membandingkan mengabaikan kes; 3. Gunakan .CompareTo () apabila menyusun mengikut abjad, dan .compareToignorecase () apabila mengabaikan kes; 4. Elakkan memanggil rentetan yang mungkin batal. Sama () hendaklah digunakan untuk menggunakan "literal" .equals (variable) atau objects.equals (str1, str2) untuk selamat mengendalikan nilai null; Pendek kata, selalu perhatikan perbandingan kandungan dan bukannya rujukan,

First,checkif"Clearbrowsingdataonclose"isturnedoninSettingsandturnitofftoensurehistoryissaved.2.Confirmyou'renotusingInPrivatemode,asitdoesnotsavehistorybydesign.3.Disableextensionstemporarilytoruleoutinterferencefromprivacyorad-blockingtoo

LinkedList adalah senarai berkaitan dua hala di Java, senarai pelaksanaan dan antara muka Deque. Ia sesuai untuk senario di mana unsur -unsur sering dimasukkan dan dipadam. Terutamanya apabila beroperasi di kedua -dua hujung senarai, ia mempunyai kecekapan yang tinggi, tetapi prestasi akses rawak adalah kurang dan kerumitan masa adalah O (n). Penyisipan dan padam boleh mencapai O (1) di lokasi yang diketahui. Oleh itu, ia sesuai untuk melaksanakan susunan, beratur, atau situasi di mana struktur perlu diubahsuai secara dinamik, dan tidak sesuai untuk operasi intensif bacaan yang sering diakses oleh indeks. Kesimpulan terakhir ialah LinkedList lebih baik daripada ArrayList apabila ia sering diubah suai tetapi mempunyai akses yang lebih sedikit.
