首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果外部JScrollPane中有较小的one,如何滚动该one?

如果外部JScrollPane中有较小的one,想要滚动该one,可以通过以下步骤实现:

  1. 确保one组件已经添加到JScrollPane中,并且one的大小确实比JScrollPane小。
  2. 获取JScrollPane的视口(Viewport)对象,可以使用getViewport()方法。
  3. 获取one组件的位置,可以使用getLocation()方法。
  4. 使用视口的scrollRectToVisible()方法,将one组件的位置作为参数传入,以确保one组件可见。

下面是一个示例代码:

代码语言:txt
复制
JScrollPane scrollPane = new JScrollPane();
JComponent one = new JComponent(); // 假设one是一个较小的组件

// 将one组件添加到JScrollPane中
scrollPane.setViewportView(one);

// 获取JScrollPane的视口对象
JViewport viewport = scrollPane.getViewport();

// 获取one组件的位置
Point oneLocation = one.getLocation();

// 将one组件的位置作为参数,滚动视口使其可见
viewport.scrollRectToVisible(new Rectangle(oneLocation, one.getSize()));

这样,当外部JScrollPane中有较小的one时,就可以通过滚动视口的方式,使one组件可见。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JAVA学习Swing章节JPanel和JScrollPane面板的简单学习

,这时 * 可以使用JScrollPane面板 * * 2:JScrollPane面板是带滚动条的面板,它也是一个面板,但是JScrollPane只能 * 放置一个组件,并且不可以使用布局管理器...* * 3:如果需要在JScrollPane面板中放置多个组件,需要将多个组件放置在JPanel面板上, * 然后将JPanel作为一个整体组件添加到JScrollPane组件上。...* * 4:从本实例可以得到在窗体中创建一个带滚动条的文字编辑器,首先需要初始化编辑器, * 并且在初始化时完成编译器的大小指定,当创建带滚动条的面板时,将编译器加入面板中 * ,最后将带滚动条的编译器放置在容器中即可...()面板对象,并将文本域对象添加到面板中 JScrollPane sp=new JScrollPane(ta); //将该面板添加到该容器中...container.add(sp); //设置容器的外部特性 setTitle("带滚动条的文字编辑器");//设置窗口的标题文字 setSize

2K90

Java Swing JTable

请注意,如果希望在独立视图中(在JScrollPane外部)使用JTable并希望显示标头,则可以使用getTableHeader()获取它并单独显示它。...源分发的演示区域中的“ TableExample”目录提供了一些JTable使用情况的完整示例,涵盖了如何使用JTable提供从数据库获取的数据的可编辑视图以及如何修改显示中的列。...添加表格到容器中有两种方式: 添加到普通的中间容器中,此时添加的jTable只是表格的行内容,表头(jTable.getTableHeader())需要额外单独添加。...此添加方式适合表格行数确定,数据量较小,能一次性显示完的表格; 添加到JScrollPane滚动容器中,此添加方式不需要额外添加表头,jTable添加到jScrollPane中后,表头自动添加到滚动容器的顶部...创建带滚动条的表格基本步骤: 创建表格 JTable table = new JTable(…); 设置表格相关数据 // 设置滚动面板视口大小(超过该大小的行数据,需要拖动滚动条才能看到) table.setPreferredScrollableViewportSize

5.1K10
  • Java编程之GUI教程 JPanel面板和JScrollPane

    在第14行代码,通过“new TitleBorder("面板区域");”设置了JPanel的边框和标题。 JScrollPane是一个带滚动条的面板容器,只能放置一个组件,并且不能使用布局管理器。...如果需要在JScrollPane面板中放置多个组件,需要先将多个组件放置在JPanel面板容器上,然后将JPanel面板作为一个整体组件添加到JScrollPane面板中。...JScrollPane类的常见方法 常见方法 功能描述 public JScrollPane() 创建一个空的JScrollPane,水平和垂直滚动条都是可选项。...例12-4运行结果 案例12-4中,在JTextArea文本区域组件不断输入内容回车,当内容超出滚动面板宽度和高度的时候,JScrollPane会出现横向和纵向滚动条。...在第8行代码处设置了边界宽度,距离外部边界距离都是5px;第10行代码处设置了布局方式为BorderLayout,组件之间的水平和垂直距离都是0px。

    18210

    超详细的Java容器、面板及四大布局管理器应用讲解!

    因此JPanel面板的使用一般是与布局管理器相结合的, JScrollPane面板 先来看一种在界面设计时常见的问题:在一个较小的界面中显示一个较大的内容的情况,对于这种情况,我们常用的方法就是将较小的容器设置为...JScrollPane面板,原因是因为JScrollPane面板是自带滚动条的,并且同时它也是一种容器,这也是在做相关开发时我们设置滚动条常用的一种方法。...使用JScrollPane面板时需要注意以下两个问题: JScrollPane面板中只能布置一个控件, JScrollPane面板不能使用布局管理器 因此如果想要在JScrollPane面板中显示多个控件...面板中加入一个文本框,实现一个带有滚动条的文本框。...在默认的情况下,组将在流布局管理器中都是以居中排列的,当然排列的顺序是可以改变的, FlowLayout类中的构造函数中有如下三种: Public FlowLayout(); Public FlowLayout

    2.9K10

    Java一分钟之-Swing组件:JTable, JTree, JTextArea

    Java Swing 提供了丰富的组件库,其中JTable、JTree和JTextArea用于展示数据和用户输入。本文将深入浅出地介绍这些组件,常见问题,易错点以及如何避免,同时提供代码示例。 1....如果没有设置数据源,JTable将为空。 避免方法:使用DefaultTableModel或自定义模型设置数据源。 问题2:滚动面板缺失。...大表格可能超出窗口大小,需要添加JScrollPane。 避免方法:使用JScrollPane包裹JTable。 2. JTree JTree用于展示层次结构的数据,如文件系统或组织结构。...(true); } } 常见问题及避免方法 问题1:未设置滚动面板。...如果文本过长,JTextArea可能超出窗口大小。 避免方法:使用JScrollPane包裹JTextArea。 问题2:未初始化文本。默认情况下,JTextArea为空。

    19410

    12.6事件处理

    例如,在用户界面上有一个按钮,当用户将鼠标移动到按钮上并单击时,就触发了一个“按钮单击”事件,然后由该命令按钮中的代码来完成相应的操作。因此,事件处理技术是用户界面程序设计中一项重要的技术。...事件:当用户在界面上执行一个操作,如按下键盘、单击或移动鼠标对窗口中的组件进行交互时所发生的事情。事件可以由外部用户操作触发,如单击按钮、单击鼠标等。事件也可以由操作系统触发,如时钟计数器等。...委托事件模型中可以有多个事件监听器,如果一个组件需要响应多个事件,可以注册多个事件监听者;如果多个组件需要响应同一个事件,则可以同时注册同一个事件监听器。...Swing提供了滚动窗格类JScrollPane,专门用来处理具有滚动功能的组件,只需要创建一个JScrollPane对象,并为其指定一个要显示的组件即可使用滚动窗格。...(3) 类属于流式布局管理器,使用此种布局方式会使所有的组件像流水一样依次进行排列 (4) 在java.awt包中有一个Container类,JComponent是它的子类,大部分 组件都是JComponent

    13210

    Kubernetes组件之kube-controller-manager

    RC中的Pod模板就像一个模具,模具制造出来的东西一旦离开模具,它们之间就再没关系了。一旦Pod被创建,无论模板如何变化,也不会影响到已经创建的Pod。...通过改变RC中的Pod模板来实现系统的滚动升级。 2.2....流程如下 1、Controller Manager在启动时如果设置了–cluster-cidr参数,那么为每个没有设置Spec.PodCIDR的Node节点生成一个CIDR地址,并用该CIDR地址设置节点的...如果监测到Service被删除,则删除和该Service同名的Endpoints对象; 如果监测到新的Service被创建或修改,则根据该Service信息获得相关的Pod列表,然后创建或更新Service...Service Controller监听Service变化,如果是一个LoadBalancer类型的Service,则确保外部的云平台上对该Service对应的LoadBalancer实例被相应地创建、

    1.2K30

    用模型“想象”出来的target来训练,可以提高分类的效果!

    比one-hot标签更好; 这个插件不需要任何外部的知识,也仅仅在训练的时候才需要,不会增加模型预测时的时间,不改变原模型的结构。...一些可能的解决办法 LDL:既然one-hot不合理,那我们就使用更合理的标签分布来训练嘛。比如下图所示: ? 如果我们能获取真实的标签分布来训练,那该多好啊。...最后,使用该混淆分布来调整原来的one-hot分布,从而得到一个更好的标签分布。 设计出来的模型结构如图: ? 这个结构分两部分,左边是一个Basic Predictor,就是各种我们常用的分类模型。...针对不同的数据集特征,我们可以使用不同的α(比如数据集混淆程度大,可以使用较小的α),另外,论文中我们还介绍了在使用较小α的时候,可以使用early-stop策略来防止过拟合。...如果说one-hot就是我们面对的残酷的现实,那么LCM则是想象出一个更加美好的目标,让模型往更美好的目标进发。曾经不知道在哪里看到这样一句话:“瞄准月亮,即便你没到达,你将置身星星之中。”

    71810

    抢购倒计时自定义控件的实现与优化

    在海外应用中,由于需要适配各种语言,有些小语种的文案较长,因此当倒计时和其他文案处于同一行展示时,需要充分考虑多语言的适配,如何优雅地完成倒计时自适应显示是一个值得深思的问题。...为进一步优化倒计时效果,我们为倒计时增加了数字滚动动画,如下图所示。倒计时的功能必然会带来性能的消耗,如何避免倒计时带来的性能问题,本文也将给出相应的解决方案。...最后,还需重写该CountDownTimer的onFinish()方法,触发listener接口里的onFinish() 2.2.4 构建公有方法供外部使用 首先是设置倒计时的监听事件: public...,数字相同的位绘制新数字,数字不同的位一起移动即可; 4、在移动数字时,需要将旧数字向上移动,移动的距离是 0 至 负的最大滚动距离;同时要将新数字向上移动,移动距离为最大滚动距离 至 0;其中最大滚动距离是数字滚动控件的高度...该情况的重点是:需要判断出子view是否已经移出ListView中。 如果应用只需要兼容安卓7及以上,可以通过重写onDetachedFromWindow()方法,在方法体内进行取消倒计时的操作。

    1.5K30

    【如果你要学JS XIII】——实现放大镜效果、client&scroll属性、固定侧边栏

    1.如何实现放大镜效果思维整理:1.鼠标经过小图片盒子,黄色的遮挡层和大图片盒子显示,离开隐藏2个盒子功能2.黄色的遮挡层跟随鼠标功能。3.移动黄色遮挡层,大图片跟随移动功能。html,css代码的相关属性可以动态的得到该元素的边框大小、元素大小等。...返回自身实际的宽度,不含边框,返回数值不带单位element.scrollHeight 返回自身实际的高度,不含边框,返回数值不带单位如果浏览器的高(或宽)度不足以显示整个页面时,会自动出现滚动条...当滚动条向下滚动时,页面上面被隐藏 掉的高度,我们就称为预面被卷去的头部。滚动条在滚动时会触发onscroll事件。4.固定侧边栏的,如果能给你带来帮助那还请用发财的小手点个赞吧!

    47610

    【CSS】元素显示与隐藏 ( display 隐藏对象 | visibility 隐藏对象 | overflow 隐藏对象 )

    display: none 可以 隐藏该元素 ; 如果想要 显示该对象 , 为该元素设置 display: block 即可 ; 2、display 显示元素代码示例 设置 display: block...可以显示元素 , 同时该样式还可以将元素转为块元素 ; 代码示例 : <!...; visibility 设置属性值 visible , 表示该元素是可见的 ; visibility 设置属性值 hidden , 表示该元素是隐藏的 ; 2、visibility 显示对象代码示例...: visible : 子元素超出父容器的部分仍然显示 ; hidden : 子元素超出父容器的部分隐藏 ; scroll : 不管子元素是否超出父容器 , 都显示滚动条 ; auto : 如果子元素超出父容器显示滚动条..., 如果子元素没有超出父容器不显示滚动条 ; 效果参考 【CSS】清除浮动 ② ( 清除浮动 - 父级元素设置 overflow 样式 | overflow 属性样式效果 | 溢出隐藏效果 | 垂直进度条效果

    5.5K30

    CSS3学习(一)——基础学习

    样式编写到一个外部的CSS文件中,然后通过link标签来引入外部的CSS文件,外部样式表需要通过link标签进行引入,意味着只要想使用这些样式的网页都可以对其进行引用,使样式可以在不同页面之间进行复用,...双线 简写:border简写属性,通过该属性可以同时设置边框所有的相关样式,并且没有顺序要求。...则浏览器会自动调整margin-right值以使等式满足,这七个值中有三个值和设置为auto:width、margin-left、maring-right ->如果某个值为auto,则会自动调整为auto...(可以-x或-y) 属性来设置父元素如何处理溢出的子元素  可选值:   visible:默认值子元素会从父元素中溢出,在父元素外部的位置显示   hidden:溢出内容将会被裁剪不会显示   ...scroll:生成两个滚动条,通过滚动条来查看完整的内容   auto:根据需要生成滚动条 行内元素的盒模型 行内元素不支持设置宽度和高度  行内元素可以设置padding,但是垂直方向padding

    74720

    【动态规划背包问题】多维背包问题

    请你找出并返回 的最大子集的大小,该子集中 最多 有 个 和 个 。 如果 的所有元素也是 的元素,集合 是集合 的子集 。...其他满足题意但较小的子集包括 {"0001","1"} 和 {"10","1","0"} 。{"111001"} 不满足题意,因为它含 4 个 1 ,大于 n 的值 3 。...这道题如果抽象成「背包问题」的话,应该是: 每个字符串的价值都是 (对答案的贡献都是 ),选择的成本是该字符串中 的数量和 的数量。...整体复杂度为: 空间复杂度: 滚动数组 根据「状态转移」可知,更新某个物品的状态时,只依赖于上一个物品的状态。 因此,可以使用「滚动数组」的方式进行空间优化。...在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。

    1.3K30

    Java-GUI 编程之 JList、JComboBox实现列表框

    如果需要创建一个可以增加、删除列表项的 JList 对象,则应该在创建 JLi st 时显式使用 DefaultListModel作为构造参数 。...addElement(E obj): 将指定元素添加到该 ListModel 的末尾 。...Object remove(int index): 删除该 ListModel 中指定位置处的元素 removeAllElements(): 删 除该 ListModel 中的所有元素,并将其的大小设置为零...JList 和 JComboBox 采用的都是简单的字符串列表项, 实际上 , JList 和 JComboBox还可以支持图标列表项,如果在创建 JList 或 JComboBox 时传入图标数组,则创建的...如果希望列表项是更复杂 的组件,例如,希望像 QQ 程序那样每个列表项既有图标,此时需要使用ListCellRenderer接口的实现类对象,自定义每个条目组件的渲染过程: public interface

    3.5K11

    JavaSwing_8.1:焦点事件及其监听器 - FocusEvent、FocusListener

    当暂时丢失焦点的组件的另一个操作,比如释放Window或拖动滚动条的间接结果一时焦点变化的事件发生。...如果未指定的行为将导致的id任何特定的参数FocusEvent实例不是从范围FOCUS_FIRST到FOCUS_LAST 1 FocusListener 用于在组件上接收键盘焦点事件的侦听器接口。...(如果你实现 FocusListener 接口,则必须定义该接口中的所有方法。此抽象类将所有这些方法都定义为 null,所以你只需针对所关心的事件重写方法即可)。...使用扩展的类创建一个侦听器对象,然后使用组件的 addFocusListener 方法向组件注册该监听器。...要熟悉基本焦点概念或获取有关焦点的详细信息,请参阅如何使用焦点子系统。 本节说明如何通过在特定组件上注册FocusListener实例来获取焦点事件。

    4.7K10

    Python Tkinter Gui 常用组件介绍 基本使用

    Scrollbar 滚动条 对其支持的组件(文本域、画布、列表框、文本框)提供滚动功能 Text 文本域 多行文字区域,可用来收集(或显示)用户输入的文字(类似 HTML 中的 textarea) ScrolledText...设置组件的内部"左右"的间距,单位为像素§,或者厘米©、英寸(i) ipady 设置组件的内部"上下"的间距,单位为像素§,或者厘米©、英寸(i) padx 设置组件的外部"左右"的间距 ,单位为像素...§,或者厘米©、英寸(i) pady 设置组件的外部"上下"的间距,单位为像素§,或者厘米©、英寸(i) sticky 该属性用来设置控件位于单元格那个方位上,参数值和 anchor 相同,若不设置该参数则控件在单元格内居中...§,或者厘米©、英寸(i) padx 设置组件的外部"左右"的间距 ,单位为像素§,或者厘米©、英寸(i) pady 设置组件的外部"上下"的间距,单位为像素§,或者厘米©、英寸(i) 3.place...,建议复制代码运行仔细观察一下有助于理解 该示例使用了grid()网格布局,输入组件,标签组件,文件选择组件,单选框组件,复选框组件,按钮,滚动文本域,大部分都写了注释哈; import sys import

    2.9K20

    Java程序员如何快速理解Kubernetes

    参考链接: 如何成为一名优秀的Java程序员 我们希望微服务是可复制的,可替换的工作节点,这样可以轻松进行升级或降级,同时无需任何停机时间,并花费最少代价的管理。...我们希望军团中有不同类型的工作角色,以便能够了解Kubernetes可以为我们做些什么。...我们可以为每个minion类型重复上面的配置,每次增加外部端口号以便使用不同的端口,或者我们可以使用这个GitHub存储库,它还具有其他配置,可以在不停机的情况下进行小型版本升级(如果我们使用Helm,...部分下创建更多特定类型的minions:  一个小黄人倒下,另一个替补他的位置  假设从浏览器点击快乐小黄人服务时得到的:  如果杀死“happy-minion-58c9c46d67-j84s9”会发生什么...如果浏览Pod部分,您将看到Kubernetes创建了一个新的Pod来代替您删除的那个,以保证该部署中有两个节点。  Minion升级  我们还可以为小黄人进行滚动升级。

    33310
    领券