在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掉,然后重新添加 JFrame 与 Frame 将Jpanel添加滚动条,无法动态使JPanel变大 jfreechart时序图的扩展 url中的‘;’代表什么啊? 问个关于数组的问题 程序一共就俩句话,我怎么就不知道哪错了呢?? xform有人搞过吗?如果是你,请和我沟通,谢谢, 高分哦 (菜鸟)关于Object中的equals()一个问题??急急急! 如何让java Socket同时传送两种信息? 我急呀!请问作类型转换问题??? 要做关于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掉,然后重新添加