如何将JLabel转换为Java中的Button?

时间:2015-04-19 16:30:29

标签: java interface jbutton jlabel

我有一个带有T恤衫ImageIcons的JLabel。我想让每件T恤都有能力被点击,然后它将导致另一个窗口。如何在保持图片的同时将每件T恤设为按钮? 这只是我的一种方法的一部分,我希望衬衫成为JButtons。 这是我的代码:

final JFrame shirts = new JFrame("T-shirts");

        JPanel panel = new JPanel(new GridLayout(4, 4, 3, 3));

        for (int i = 1; i < 13; i++) {
           l = new JLabel(new ImageIcon("T-shirts/"+i+".jpg"), JLabel.CENTER);
            l.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
            l.setFont(l.getFont().deriveFont(20f));
            panel.add(l);
        }//end of for loop


        shirts.setContentPane(panel);
        shirts.setSize(1000, 1000);
        shirts.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        shirts.setVisible(true);

1 个答案:

答案 0 :(得分:-1)

无需更改为JButton。这里最简单的选择是实现MouseListener。

这将允许您测试鼠标点击事件:


yourLabelName.addMouseListener(new MouseAdapter()  
{  
    public void mouseClicked(MouseEvent e)  
    {  
       //point to the frame you want it to go to from here
       yourFrame = new JFrame("Next JFrame");
       frame.setVisible(true);

    }  
}); 

  

更新

shirts.this.add(l);

这会将标签添加到下一个JFrame


希望这有帮助。

让我知道结果:)