如何在jlabel上设置图像大小?

时间:2014-03-29 12:20:03

标签: java swing jlabel imageicon

您好我正在尝试制作java桌面应用程序,因为我正在进行JLabel我正在洗牌 image我想设置适合JLabel

的图像大小

这是我的代码

public class ImageShuffle extends JPanel {

    private List<Icon> list = new ArrayList<Icon>();
    private JLabel label = new JLabel();
    private Timer timer = new Timer(1000, new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            update();
        }
    });

    public ImageShuffle() {
        this.setLayout(new GridLayout(1, 0));
          list.add(new ImageIcon("E:\\SOFTWARE\\TrainPIS\\res\\drawable\\e.jpg"));
    list.add(new ImageIcon("E:\\SOFTWARE\\TrainPIS\\res\\drawable\\d.jpg"));
    list.add(new ImageIcon("E:\\SOFTWARE\\TrainPIS\\res\\drawable\\yellow.png"));
      list.add(new ImageIcon("E:\\SOFTWARE\\TrainPIS\\res\\drawable\\f.jpg"));
            list.add(new ImageIcon("E:\\SOFTWARE\\TrainPIS\\res\\drawable\\l.jpg"));
        label.setIcon(UIManager.getIcon("OptionPane.informationIcon"));

        timer.start();
    }

    private void update() {
        Collections.shuffle(list);
        label.setIcon(list.get(0));
    }

    private void display() {
        JFrame f = new JFrame("ImageShuffle");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.add(this);
        f.add(label);
        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }

我怎样才能实现这个目标

提前致谢

2 个答案:

答案 0 :(得分:1)

查看Darryl的Stretch Icon,它会根据标签中的可用空间增大/缩小Icon。

答案 1 :(得分:-1)

private void display() {
    JFrame f = new JFrame("ImageShuffle");
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.add(this);
    f.add(label);
    f.pack();
    f.setLocationRelativeTo(null);
    f.setSize(x,y)
    f.setVisible(true);

X是你的宽度和你的高度!

如果你写的是

  f.setSize(800,600);

它应该像我一样插入它时设置大小!

如果你想设置JLabel大小,它是这样的:

 panelName.setSize(x,y);
 panelName.setVisible(true);