【问题标题】:How to set image size fix on jlabel?如何在jlabel上设置图像大小修复?
【发布时间】:2014-05-08 23:43:20
【问题描述】:

嗨,我正在尝试制作 java 桌面应用程序,但我有一个 JLabel 我正在改组 图片我想设置适合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);
    }

我怎样才能做到这一点

提前致谢

【问题讨论】:

  • 您的图片大小不同吗?
  • 是的,图片大小不同
  • 看看thisthis
  • 在我的代码中我必须进行更改
  • 阅读链接中的答案并尝试找出答案。这都是学习的一部分。

标签: java swing jlabel imageicon


【解决方案1】:

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

【讨论】:

    【解决方案2】:
    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);
    

    【讨论】:

    • x 和 y 将设置框架的大小?
    猜你喜欢
    • 2014-05-09
    • 2017-06-04
    • 2012-10-06
    • 1970-01-01
    • 2014-05-20
    • 2020-08-29
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多