`

JScrollPane 例解

    博客分类:
  • java
阅读更多
类层次结构图:
java.lang.Object
    --java.awt.Component
    --java.awt.Container
    --javax.swing.JComponent
    --javax.swing.JScrollPane

JScrollPane构造函数:
       JScrollPane():
             建立一个空的JScrollPane对象。
      JScrollPane(Component view):
            建立一个新的JScrollPane对象,当组件内容大于显示区域时会自动产生滚动轴。
      JScrollPane(Component view,int vsbPolicy,int hsbPllicy):
            建立一新的JScrollPane对象,里面含有显示组件,并设置滚动轴出现时机。
      JScrollPane(int vsbPolicy,int hsbPolicy):
            建立一个新的JScrollPane对象,里面不含有显示组件,但设置滚动轴出现时机。

      JScrollPane或利用下面这些参数来设置滚动轴的出现的时机,这些参数是定义在ScrollPaneConstants interface中,而JScrollPane类实现此界面,因此也就能使用这些参数:

      HORIZONTAL_SCROLLBAR_ALAWAYS: 显示水平滚动轴。
      HORIZONTAL_SCROLLBAR_AS_NEEDED:当组件内容水平区域大于显示区域时出现水平滚动轴。
      HORIZONTAL_SCROLLBAR_NEVER:     不显示水平滚动轴。
      VERTICAL_SCROLLBAR_ALWAYS:       显示垂直滚动轴。
      VERTICAL_SCROLLBAR_AS_NEEDED:    当组件内容垂直区域大于显示区域时出现垂直滚动轴。
      VERTICAL_SCROLLBAR_NEVER:        不显示垂直滚动轴。

范例:JScrollpane1.java

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

public class JScrollpane1 implements ActionListener{
JScrollPane scrollPane;
public JScrollpane1(){
   JFrame f=new JFrame("JScrollpane1");
   Container contentPane=f.getContentPane();
   
   JLabel label1=new JLabel(new ImageIcon(".\\icons\\flower.jpg"));
   JPanel panel1=new JPanel();
   panel1.add(label1);
   /*新增一个JScrollPane对象,并将panel1放入JScrollPane中,若pane1的组件大小在于窗口大小
       *大于窗口大小则会自动显示出ScrollBar.
       */
   scrollPane=new JScrollPane(panel1);
   
   JPanel panel2=new JPanel(new GridLayout(3,1));
   JButton b=new JButton("显示水平滚动轴");
   b.addActionListener(this);
   panel2.add(b);
   b=new JButton("不要显示水平滚动轴");
   b.addActionListener(this);
   panel2.add(b);
   b=new JButton("适时显示水平滚动轴");
   b.addActionListener(this);
   panel2.add(b);
   
   contentPane.add(panel2,BorderLayout.WEST);
   contentPane.add(scrollPane,BorderLayout.CENTER);
   
   f.setSize(new Dimension(350,220));
   f.show();
   f.addWindowListener(new WindowAdapter(){
         public void WindowClosing(WindowEvent e){
            System.exit(0);
         }
   });
}
/*实现ActionListener界面,当用户按下"显示水平滚动轴"按钮时,则设置水平滚动轴参数为
    *JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS,若用户按下"不要显示水平滚动轴""按钮时,则设置
    *水平滚动轴参数为JScrollPane.HORIZONTAL_SCROLLBAR_NEVER,若用户按下"适时显示水平滚动轴"
    *时,则设置水平滚动轴参数为HORIZONTAL_SCROLLBAR_AS_NEEDED.
    */
public void actionPerformed(ActionEvent e){
   if(e.getActionCommand().equals("显示水平滚动轴"))
      scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
   if(e.getActionCommand().equals("不要显示水平滚动轴"))
      scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
   
   if(e.getActionCommand().equals("适时显示水平滚动轴"))
      scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
   scrollPane.revalidate();//重新显示JScrollPane形状。
}
public static void main(String[] args){
new JScrollpane1();
}
}

 
   接下来我们再看看JScrollPane还有哪些常用的功能。JScrollPane除了可让你滚动轴外,它还可以设置表头(Header)名称、边角
(Corner)图案与ScrollPane外框。我们修改上面的例子。使JScrollPane更具有变化:
JScrollpane2.JAVA
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;


public class JScrollpane2 implements ActionListener{
JScrollPane scrollPane;

public JScrollpane2(){
   JFrame f=new JFrame("JScrollPaneDemo");
   Container contentPane=f.getContentPane();
   
   JLabel label1=new JLabel(new ImageIcon(".\\icons\\flower.jpg")); 
   JPanel panel1=new JPanel();
   panel1.add(label1);
   scrollPane=new JScrollPane();
   /*设置窗口显示组件为panel1
   */
   scrollPane.setViewportView(panel1);
   /*设置水平与垂直表头
   */
   scrollPane.setColumnHeaderView(new JLabel("水平表头"));
   scrollPane.setRowHeaderView(new JLabel("垂直表头"));
   /*设置scrollPane的边框凹陷立体边框。边框(Border)部份我们将在以后介绍。
   */
   scrollPane.setViewportBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
   /*设置scrollPane的边角图案,由于JScrollPane为矩形形状,因此就有4个位置来摆放边角(Corner)
   *组件,这4个地方分别是左上、左下、右上、右下,对应的参数分别如下:
   *JScrollPane.UPPER_LEFT_CORNER
   *JScrollPane.LOWER_LEFT_CORNER
   *JScrollPane.UPPER_RIGHT_CORNER
   *JScrollPane.LOWER_RIGHT_CORNER
   */
   scrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER,new JLabel(new ImageIcon(".\\icons\\glass.jpg")));
   scrollPane.setCorner(JScrollPane.UPPER_RIGHT_CORNER,new JLabel(new ImageIcon(".\\icons\\glass.jpg")));
   
   JPanel panel2=new JPanel(new GridLayout(3,1));
   JButton b=new JButton("显示水平滚动轴");
   b.addActionListener(this);
   panel2.add(b);
   b=new JButton("不要显示水平滚动轴");
   b.addActionListener(this);
   panel2.add(b);
   b=new JButton("适时显示水平滚动轴");
   b.addActionListener(this);
   panel2.add(b);
   
   contentPane.add(panel2,BorderLayout.WEST);
   contentPane.add(scrollPane,BorderLayout.CENTER);
   
   f.setSize(new Dimension(350,220));
   f.show();
   f.addWindowListener(new WindowAdapter(){
          public void windowClosing(WindowEvent e){
             System.exit(0);
          }
       }
   );          
} 
public void actionPerformed(ActionEvent e){
   if(e.getActionCommand().equals("显示水平滚动轴"))
      scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
   if(e.getActionCommand().equals("不要显示水平滚动轴"))
      scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
   
   if(e.getActionCommand().equals("适时显示水平滚动轴"))
      scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
   scrollPane.revalidate();//重新显示JScrollPane形状。
}
public static void main(String[] args){
   new JScrollpane2();
}
}



分享到:
评论

相关推荐

    jScrollPane

    **jScrollPane** 是一个JavaScript库,它为网页中的元素提供了高度可定制的滚动条功能。在默认情况下,浏览器会自动生成并显示滚动条,但这些滚动条通常样式单一且不可定制。jScrollPane 提供了一个优雅的解决方案,...

    JScrollPane 滚动条 例子

    在Java Swing库中,`JScrollPane`是一个非常重要的组件,它允许我们添加滚动条到其他组件,如`JLabel`, `JTable`, `JTextArea`等,以方便查看超出容器大小的内容。`JScrollPane`自动处理滚动条的显示与隐藏,使得...

    jScrollPane2.0

    **jScrollPane 2.0** 是一个国外的开源项目,主要目标是为 Internet Explorer 和 Firefox 浏览器提供自定义的、美观的滚动条样式。这个插件在很多实际应用场景中都显示出了其价值,特别是在网页设计和开发过程中,...

    JScrollPane

    在JTextArea下添加滚动条以及JTextArea与TextArea的区别

    前端项目-jScrollPane.zip

    前端项目-jScrollPane,jscrollpane-带有jquery和css的跨浏览器可样式滚动条

    jQuery滚动条插件 jScrollPane

    jQuery的jScrollPane是一个高度可定制的滚动条插件,它允许开发者通过CSS样式来改变页面上块级元素的默认垂直滚动条,以提供更美观、更符合网站整体风格的用户体验。这个插件不仅提升了滚动条的视觉效果,还提供了...

    JScrollPane中 - 全身自定义滚动 点击查看 浏览器内置滚动样式

    在Java Swing库中,`JScrollPane`是一个非常重要的组件,它允许我们添加可滚动的视图,特别是当内容超出屏幕范围时。`JScrollPane`提供了内置的滚动条,但有时为了满足特定的用户界面设计或者提供更丰富的用户体验,...

    jScrollPane, 漂亮,可以定制,跨浏览器 替换滚动条.zip

    jScrollPane, 漂亮,可以定制,跨浏览器 替换滚动条 jScrollPane --跨浏览器 自定义滚动条jScrollPane是一个可以用于替换浏览器滚动条缺省功能( 在具有溢出的元素上)的 jQuery插件: auto ) 具有一个可以使用CSS轻松...

    jScrollPane 滚动条 jQuery 滚动条

    **jQuery jScrollPane 滚动条详解** 在网页设计中,滚动条是不可或缺的一部分,它帮助用户浏览超过视窗内容的页面。默认的浏览器滚动条样式往往简单且单一,无法满足现代网页设计对美观和交互性的需求。这时,...

    jquery jscrollpane.js滚动窗口仿微信聊天对话窗口样式(支持手机触屏拖动窗口).rar

    《使用jQuery jscrollpane.js实现微信聊天对话窗口样式》 在网页开发中,模拟原生应用的用户体验往往能提升用户的满意度。微信聊天对话窗口的样式以其简洁、易用的特点深受用户喜爱,许多开发者希望在自己的网页...

    Swing的JScrollPane嵌套使用时滚动条显示示例(示例源代码)

    在SWING中嵌套使用JScrollPane时,会出现诸多显示问题,如内层JScrollPane的滚动条显示不正常、框架缩放时,内层JScrollPane放大后无法自适应缩小等。如果需要显示内层的滚动条,则需要外层Scroll组件的view视图组件...

    JScrollPane的使用

    用JS特製個性化的滾動條。 網頁設計中系統自帶的滾動條常常破壞整個設計格局、風格。

    jScrollPane-master

    /* 1、showArrows:是否显示滚动箭头,模式是false; 2、maintainPosition:当滚动区重新初始化后,是否保持滚动条的原有位置,默认是true; 3、stickToBottom:当maintainPosition设置为true,且滚动区域到达...

    java美化JScrollPanel的滚动条

    JScrollPane jScrollPane = new JScrollPane(jTree); jScrollPane.setBounds(10, 10, 200, 200); jScrollPane.getVerticalScrollBar().setUI(new ScrollBarUIEx (JScrollBar.VERTICAL)); jScrollPane....

    工作中用到的滚动条 jscrollpane以及整理

    JScrollPane 是一个专门用于创建自定义风格滚动条的工具,它允许开发者根据自己的需求定制滚动条的样式,以提升应用的整体视觉效果。 JScrollPane 主要应用于Java Swing环境,它提供了一种优雅的方式来实现滚动功能...

    jquery滚动条插件jScrollPane的使用介绍

    并且,jQuery库文件的位置必须在引入jScrollPane的js文件之前,这是因为jScrollPane依赖于jQuery库,必须先加载jQuery才能正确调用jScrollPane提供的方法。 以上就是关于jquery滚动条插件jScrollPane的基本使用方法...

    JScrollPane设置透明

    在Java Swing图形用户界面开发中,`JScrollPane`是一个非常重要的组件,用于提供滚动功能,以便在有限的屏幕空间内查看或操作大量内容。当需要创建一个透明的`JScrollPane`时,通常是为了让背景透过`JScrollPane`...

    jquery jscrollpane.js滚动窗口微信聊天对话框

    《使用jQuery jscrollpane.js实现滚动窗口微信聊天对话框》 在网页开发中,创建一个类似于微信聊天对话框的交互式界面是一项常见的需求。为了实现这样的功能,开发者常常会利用JavaScript库,比如jQuery,以及相关...

    Java常用面板之JScrollPane滚动面板实例详解

    在Java编程中,JScrollPane是一种用于在图形用户界面中提供滚动功能的容器。它是一个非常实用的组件,尤其适用于当内容区域的大小超出了显示区域时,用户可以利用滚动条来查看隐藏的区域。JScrollPane由滚动条、视口...

    JScrollPane2.0 beta10

    jScrollPane is a cross-browser jQuery plugin by Kelvin Luck which converts a browser's default scrollbars (on elements with a relevant overflow property) into an ...一个可以随意改变HTML滚动条样式的jQuery...

Global site tag (gtag.js) - Google Analytics