窗口中条目绑定事件

接下来。我们可以往窗口中添加图片用来美化界面,我们一般使用ImageIcon这个类来添加图片,我添加图片的一般操作是将图片下载好后放在Idea中,然后再复制路径再ImageIcon后面的参数里,再将ImageIcon添加进JLabel管理器中,最后将JLabel放进窗口中,这里有一个小细节,就是先加载的图片在上方,后加载的图片在下方,所以背景图片我一般最后再加入。
这里引入一个概念,关于路径的分类,路径分为两种,一种是绝对路径,绝对路径是从盘符开始的,c:\另一种是相对路径,aaa\bbb相对当前项目而言的,今天看到路径的时候查到的。接下来,我们学习一下如何给条目绑定时间事件。
其实过程与给按钮绑定事件差不多,只需要在条目后添加事件就可以了,如果想让点击条目出现弹窗的话,需要学习一个新的类,叫做JDialog,是一个弹框,里面的图片如果要定义出位置,那么需要注意,图片不是相对于窗口而言的,是相对于弹框而言的。我写了代码,请大家和我一起理解一下。
如下:

package Jsu;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Demo {
    public static void main(String[] args) {
            JFrame jFrame = new JFrame("商品管理系统");
            jFrame.setSize(640, 427);
            jFrame.setLocationRelativeTo(null);
            jFrame.setDefaultCloseOperation(3);
            JMenuBar jMenuBar = new JMenuBar();
            JMenu jMenu = new JMenu("关于我们");
            JMenuItem jMenuItem1 = new JMenuItem("微信号");
            JMenuItem jMenuItem2 = new JMenuItem("关闭窗口");
            jFrame.setLayout(null);
            jMenuBar.add(jMenu);
            jMenu.add(jMenuItem1);
            jMenu.add(jMenuItem2);
            JButton jButton1 = new JButton("添加商品");
            JButton jButton2 = new JButton("删除商品");
            jButton1.setBounds(200, 0, 200, 100);
            jButton2.setBounds(0, 64, 200, 100);
            jButton1.addMouseListener(new Mouse());
            jButton2.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    System.out.println("删除商品");
                    System.out.println("请在控制台输入您想删除的商品");
                }
            });
            jFrame.addKeyListener(new Key());
            jMenuItem1.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                   JDialog jDialog=new JDialog();
                   JLabel jLabel=new JLabel(new ImageIcon("C:\\Users\\86188\\IdeaProjects\\java\\SummerHoiday\\src\\Picture\\微信图片_20230720000551.jpg"));
                   jLabel.setBounds(0,0,700,700);
                   jDialog.getContentPane().add(jLabel);
                    jDialog.setSize(700,700);
                    jDialog.setLocationRelativeTo(null);
                    jDialog.setAlwaysOnTop(true);
                    jDialog.setVisible(true);



                }
            });
            jMenuItem2.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    System.out.println("关闭窗口");
                    System.exit(0);
                }
            });
            jFrame.setJMenuBar(jMenuBar);
            jFrame.getContentPane().add(jButton1);
            jFrame.getContentPane().add(jButton2);
            JLabel jb = new JLabel(new ImageIcon("C:\\Users\\86188\\IdeaProjects\\java\\SummerHoiday\\src\\Picture\\R-C.jpg"));
            jb.setBounds(0, 0, 640, 427);
            jFrame.getContentPane().add(jb);
            jFrame.setVisible(true);

        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值