接下来。我们可以往窗口中添加图片用来美化界面,我们一般使用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);
}
}