在JScrollPane中显示多个图片的问题 各位大虾好! 小弟有个问题想请教:我有10多张图片要显示,窗口肯定无法一次全部的显示,所以想使用JScrollPane 滚动的显示,应该怎么样实现呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一種方法 把jscrollpane 的布局管理器 設置成 flowlayout ~ 添加图片部分,继续使用你自己的逻辑就可以了import java.awt.Container;import java.awt.GridLayout;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;public class Test4ScrollPane extends JFrame { /** * @param args */ public static void main(String[] args) { Test4ScrollPane tslp = new Test4ScrollPane(); } public Test4ScrollPane() { setSize(500, 400); Container c = getContentPane(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel jp = new JPanel(); jp.setLayout(new GridLayout(0, 1, 0, 50)); //添加图片 begin JLabel cl = new JLabel(); cl.setIcon(new ImageIcon("Image1")); jp.add(cl); cl = new JLabel(); cl.setIcon(new ImageIcon("Image2")); jp.add(cl); //添加图片 end JScrollPane jsp = new JScrollPane(jp); c.add(jsp); setVisible(true); }} 刚刚看到,谢谢你的回答!可以显示多个图片了,只是还有一个疑问:我在frame 里左边放了一个jpanel,显示一个jtree,右边就是JScrollPane我想在点击某个jtree节点的时候,从该节点对应的文件夹里取出10多张图片显示,所以给jtree 加了鼠标点击事件,在处理事件代码中使用了你说的显示图片的方法,现在的问题是:如果我点击了一个节点,显示了10多张图片,再点击其他节点,原来的图片还是会存在,这个问题怎么解决呢?谢谢,弄明白了马上结贴。 你要把你之前加进去的images全都清掉才行如果你固定要显示10张图片的话,上面那个JLacel就做个数组左边换tree节点的话,右边JLabel全换掉图片如果你的图片数量不固定,那么就把JPanel里面的components全都remove掉,然后重新添加 怎么用JDBC将一个文件夹里的东西存储进sql server 求助,java对文本进行关键字过滤的问题 关于HashSet “只看楼主”功能用java实现吗? 为什么我通过命令行编译总是出现下面这个错误? 很好的电子图书网站,跟大家分享,看得起就给分 求教编译时的错误!!! RMI与对象的序列化问题 有谁知道关于Java Web Start? 求jubilder中的jstore key 要做关于javaee的课程设计,有几个技术要点不太明白,请指教 如何使用method.invoke反射实现这个小功能
import java.awt.GridLayout;import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;public class Test4ScrollPane extends JFrame { /**
* @param args
*/
public static void main(String[] args) {
Test4ScrollPane tslp = new Test4ScrollPane();
} public Test4ScrollPane() {
setSize(500, 400);
Container c = getContentPane();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel jp = new JPanel();
jp.setLayout(new GridLayout(0, 1, 0, 50));
//添加图片 begin
JLabel cl = new JLabel();
cl.setIcon(new ImageIcon("Image1"));
jp.add(cl);
cl = new JLabel();
cl.setIcon(new ImageIcon("Image2"));
jp.add(cl);
//添加图片 end JScrollPane jsp = new JScrollPane(jp);
c.add(jsp); setVisible(true);
}
}
我在frame 里左边放了一个jpanel,显示一个jtree,右边就是JScrollPane
我想在点击某个jtree节点的时候,从该节点对应的文件夹里取出10多张图片显示,
所以给jtree 加了鼠标点击事件,在处理事件代码中使用了你说的显示图片的方法,
现在的问题是:如果我点击了一个节点,显示了10多张图片,再点击其他节点,原来的
图片还是会存在,这个问题怎么解决呢?谢谢,弄明白了马上结贴。
如果你固定要显示10张图片的话,上面那个JLacel就做个数组
左边换tree节点的话,右边JLabel全换掉图片如果你的图片数量不固定,那么就把JPanel里面的components全都remove掉,然后重新添加