
正文
java窗口滚动条代码 java滚动窗口大小设置
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
JAVA 添加滚动条
我调试了,下面修改可以。 不过FlowLayout布局效果不好,再多的图片,它也
是一子排开。 图片数量达到上百时,机器像蜗牛一样……
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class demotest extends JFrame{
JScrollPane scroll;
JPanel pan; //用此pan来添加图片,然后把它放入主窗口。
public demotest(String s){
pan = new JPanel();
pan.setLayout(new FlowLayout());
scroll = new JScrollPane(pan);
scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);//设置何时显示滚动条
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); //设置何时显示滚动条
Container container = getContentPane();
container.add(scroll);
File file = new File(s);
String[] picture = file.list();
int j,k;
int[] flag = new int[picture.length];
for(k = 0,j = 0;j picture.length;j++) {
if(picture[j].toLowerCase().endsWith(".jpg") || picture[j].toLowerCase().endsWith(".jpeg") || picture[j].toLowerCase().endsWith(".gif")
|| picture[j].toLowerCase().endsWith(".png")){
k++;
//System.out.println(picture[j]);
}
}
String[] pic = new String[k];
for(k = 0,j = 0;j picture.length;j++) {
if(picture[j].toLowerCase().endsWith(".jpg") || picture[j].toLowerCase().endsWith(".jpeg") || picture[j].toLowerCase().endsWith(".gif")
|| picture[j].toLowerCase().endsWith(".png")){
pic[k] = s + "\\" + picture[j];
flag[k] = j;
k++;
}
}
for(int i = 0;i pic.length;i++){
ImageIcon a = new ImageIcon(pic[i]);
Image b = a.getImage();
JLabel label = new JLabel(new ImageIcon(b.getScaledInstance(250,170,Image.SCALE_DEFAULT)));
JLabel label2 = new JLabel(picture[flag[i]],JLabel.CENTER);
JPanel jpanel = new JPanel();
jpanel.setLayout(new BorderLayout());
jpanel.add(label,BorderLayout.CENTER);
jpanel.add(label2,BorderLayout.SOUTH);
JScrollPane c = new JScrollPane();
c.setViewportView(jpanel);
pan.add(c);
}
container.add(scroll);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(800,660);
this.setVisible(true);
}
public static void main(String[] args){
demotest demo = new demotest("D:\\media\\photos");//(自己添加路径试试程序)
}
}
相关问答
Q1: java怎么给窗体设置滚动条(是窗体JFrame或者面板),不是文本域,可以吗?请通俗的说下,最好有代码,谢谢
JScrollPane jsp = null;
jsp = new JScrollPane(pan);
这里的pan就是你要加的组件,文本域,面板都可以,如果是JFrame的话,得用getContentPan()方法提取容器,不过建议还是加在JPanel这类组件上。
当然JScrollPane还有其他构造方法,去找api看吧,我这用的最简单的。
Q2: 如何在java程序中加上滚动条,为什么我的程序滚动条没显示?
请使用JScroolPane。比如要为一个多行文本域加上滚动条,要使用如下代码:
jf.add(new JScrollPane(new TextArea(50,30))));
其中jf代表窗口。
java窗口滚动条代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java滚动窗口大小设置、java窗口滚动条代码的信息别忘了在本站进行查找喔。







