为了账号安全,请及时绑定邮箱和手机立即绑定

在Swing中的JLabel中更新图像图标?使用revalidate()和repaint()

在Swing中的JLabel中更新图像图标?使用revalidate()和repaint()

慕标琳琳 2021-04-08 13:15:20
好的,我刚刚习惯OOP,现在正在学习挥杆技巧。我正在制作一个简单的应用程序,该应用程序是2x2网格,包含4张图像(X,O,正方形和三角形),然后单击任意一个,将颜色的形状切换为蓝色。但是,我无法将其切换到新映像,并且我认为它与程序的基本功能有关。介意看看吗?JFrame类:import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.ImageIcon;import java.awt.image.BufferedImage;import javax.imageio.ImageIO;import java.io.File;import java.io.IOException;import javax.swing.JPanel;public class Frame1 {    public JFrame frame;        Frame1 window = new Frame1();        window.frame.setVisible(true);    }    public Frame1() {        initialize();    }    private void initialize() {        frame = new JFrame();        frame.setBounds(100, 100, 900, 900);        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frame.getContentPane().setLayout(null);        Squares x = new Squares("images\\black-X.png", "images\\blue-X.png", 0, 0, 450, 450, "x");        Squares o = new Squares("images\\black-O.png", "images\\blue-O.png", 450, 0, 450, 450, "o");        Squares sq = new Squares("images\\black-sq.png", "images\\blue-sq.png", 0, 425, 450, 450, "sq");        Squares tri = new Squares("images\\black-tri.png", "images\\blue-tri.png", 450, 410, 450, 450, "tri");        frame.getContentPane().add(x.getLabel());        frame.getContentPane().add(o.getLabel());        frame.getContentPane().add(sq.getLabel());        frame.getContentPane().add(tri.getLabel());    }}侦听器类别:import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;public class clickListener implements MouseListener{    Squares ob = new Squares();    public clickListener(Squares newSquare) {        ob = newSquare;    }    public void mouseClicked(MouseEvent e) {        ob.changePic();    }}我最初使用的是包含每个JLabel的JPanels,但是为了简化起见,我将它们全部删除了。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 218 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信