有什么办法可以让Jlabel上的图片大小一致,很着急哪位好心帮下忙!谢谢了!

xinligang 2003-11-24 04:08:07
图片的大小数量不等的,但是我想让它们随着图片的数量的多少在固定大小的面板上显示相同的大小!也就是说图片的等比例缩放!
还有一个问题就是如何让这个页面出显滚动条,只显示六幅或者八幅图,在有图片就自动出滚动条!
原码如下:




import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.applet.*;

public class showImageView extends JApplet {
private JLabel label1, label2, label3, label4, label5, label6, label7;
ImageIcon image1 = createImageIcon("F:/map/040052.jpg");
ImageIcon image2 = createImageIcon("F:/map/040053.jpg");
ImageIcon image3 = createImageIcon("F:/map/040054.jpg");
ImageIcon image4 = createImageIcon("F:/map/040057.jpg");
ImageIcon image5 = createImageIcon("F:/map/040058.jpg");
ImageIcon image6 = createImageIcon("F:/map/040059.jpg");
ImageIcon image7 = createImageIcon("F:/map/main.jpg");
//构造函数
public showImageView () {
ImageIcon imageIcon = new ImageIcon();

label1 = new JLabel("map1",image1,JLabel.CENTER);
label1.setVerticalTextPosition(JLabel.BOTTOM);
label1.setHorizontalTextPosition(JLabel.CENTER);

label2 = new JLabel("map2",image2,JLabel.CENTER);
label2.setVerticalTextPosition(JLabel.BOTTOM);
label2.setHorizontalTextPosition(JLabel.CENTER);

label3 = new JLabel("map3",image3,JLabel.CENTER);
label3.setVerticalTextPosition(JLabel.BOTTOM);
label3.setHorizontalTextPosition(JLabel.CENTER);

label4 = new JLabel("map4",image4,JLabel.CENTER);
label4.setVerticalTextPosition(JLabel.BOTTOM);
label4.setHorizontalTextPosition(JLabel.CENTER);

label5 = new JLabel("map5",image5,JLabel.CENTER);
label5.setVerticalTextPosition(JLabel.BOTTOM);
label5.setHorizontalTextPosition(JLabel.CENTER);

label6 = new JLabel("map6",image6,JLabel.CENTER);
label6.setVerticalTextPosition(JLabel.BOTTOM);
label6.setHorizontalTextPosition(JLabel.CENTER);

label7 = new JLabel("map7",image7,JLabel.CENTER);
label7.setVerticalTextPosition(JLabel.BOTTOM);
label7.setHorizontalTextPosition(JLabel.CENTER);
}

//获得图片路经
/** Returns an ImageIcon, or null if the path was invalid. */
protected ImageIcon createImageIcon(String path) {
return new ImageIcon(path);

}

//创建Jpanel面板添加组件
public Component createComponents(){
JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createEmptyBorder(30, 30, 30, 30));
JScrollPane scrollPane = new JScrollPane(panel);
scrollPane.setPreferredSize(new Dimension(20, 10));
panel.setLayout(new FlowLayout(FlowLayout.LEFT, 20, 20));
panel.add(label1);
panel.add(label2);
panel.add(label3);
panel.add(label4);
panel.add(label5);
panel.add(label6);
panel.add(label7);
return panel;

}
public static void main (String [] args){
JFrame frame = new JFrame("SwingApplication");
showImageView showimageview = new showImageView();
frame.getContentPane().add(showimageview.createComponents(),BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);

}

}
...全文
202 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinligang 2003-11-25
  • 打赏
  • 举报
回复
为什么没有人回帖子!哪位知道帮帮忙!我很着急谢谢了!

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧