重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

滚动条的代码java java滚动条事件

JAVA 添加滚动条

我调试了,下面修改可以。 不过FlowLayout布局效果不好,再多的图片,它也

创新互联建站是一家以网络技术公司,为中小企业提供网站维护、成都做网站、成都网站制作、网站备案、服务器租用、申请域名、软件开发、微信小程序定制开发等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站咨询电话:18982081108

是一子排开。 图片数量达到上百时,机器像蜗牛一样……

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");//(自己添加路径试试程序)

}

}

如何在java程序中加上滚动条,为什么我的程序滚动条没显示?

请使用JScroolPane。比如要为一个多行文本域加上滚动条,要使用如下代码:

jf.add(new JScrollPane(new TextArea(50,30))));

其中jf代表窗口。

java GUI 滚动条

程序如下:

import java.awt.GridLayout;

import java.awt.Toolkit;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

public class JscrollDemo extends JFrame

{

private JScrollPane btnPanel;

private JPanel panel;

private JButton button;

int btnNum = 10; //按钮数,可以是任意数

int closNum = 4;//每行按钮数,可自定义

public JscrollDemo()

{

panel = new JPanel();

setTitle("滚动条测试");

setBounds((Toolkit.getDefaultToolkit().getScreenSize().width - 500)/2,

(Toolkit.getDefaultToolkit().getScreenSize().height - 500)/2, 500, 400);

panel.setLayout(new GridLayout(0,closNum));

for(int i=0;ibtnNum;i++)

{

button = new JButton("按钮" + (i+1));

button.setSize(100, 80);

panel.add(button);

}

if((btnNum*1.0/closNum) 3)

{

btnPanel = new JScrollPane(panel,

JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

}

else

{

btnPanel = new JScrollPane(panel,

JScrollPane.VERTICAL_SCROLLBAR_NEVER,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

}

add(btnPanel);

setVisible(true);

setResizable(false);

}

public static void main(String[] args)

{

new JscrollDemo();

}

}

有问题欢迎提问,满意请采纳,谢谢!


当前题目:滚动条的代码java java滚动条事件
URL链接:http://cqcxhl.com/article/ddodhco.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP