标签: jscrollpane

JScrollPane中的Java JPanel?

我有一个JFrame,在这个JFrame中我有一个我绘制的JPanel,这个面板可以是任何大小,所以我将它放入一个JScrollpane让我在面板大于窗口屏幕大小时滚动.

不幸的是,我的预期不起作用:

  1. 使JFrame窗口小于JPanel大小不会显示滚动条

  2. JScrollPane大小现在似乎锁定了我添加到它的JPanel的大小,之前它调整到它的JFrame窗口的边界(它仍然有点这样但现在只是垂直?!)

  3. 无论我为首选大小设置什么,JPanel似乎都假设JScrollpane的大小

我确信我做的事情很愚蠢,如果有人能指出我会非常感激的话!

JPanel _ImageCanvas = new JPanel(); // 'Canvas' to draw on
JScrollPane _ScrollPane = new JScrollPane();

// set size of 'canvas'
_ImageCanvas.setMinimumSize(new Dimension(100,100));

// Scroll pane smaller then the size of the canvas so we should get scroll bars right?
_ScrollPane.setMinimumSize(new Dimension(50,50)); 

// Add a border to 'canvas'
_ImageCanvas.setBorder(BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

_ScrollPane.setViewportView(JPanel);
Run Code Online (Sandbox Code Playgroud)

非常感谢

大卫

java swing jpanel jscrollpane layout-manager

16
推荐指数
2
解决办法
5万
查看次数

在jscrollpane中禁用水平滚动

我有一个JScrollPaneFlowLayout我希望有一个固定的宽度.它应该只是垂直滚动,当我调整窗口大小时应该自动重新排列内容.我认为应该有一种方法,setEnableHorizontalScroll(false)但找不到它.

有没有简单的方法来做到这一点?

java swing jscrollpane horizontal-scrolling

15
推荐指数
3
解决办法
4万
查看次数

JScrollPane和JList自动滚动

我有下一个代码:

    listModel = new DefaultListModel();
    listModel.addElement(dateFormat.format(new Date()) + ": Msg1");
    messageList = new JList(listModel);
    messageList.setLayoutOrientation(JList.VERTICAL);

    messageScrollList = new JScrollPane(messageList);
    messageScrollList.setPreferredSize(new Dimension(500, 200));

    messageScrollList.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {  
        public void adjustmentValueChanged(AdjustmentEvent e) {  
            e.getAdjustable().setValue(e.getAdjustable().getMaximum());  
        }
    }); 
Run Code Online (Sandbox Code Playgroud)

它会自动向下滚动.但是,如果我尝试向上滚动以重新阅读消息,则会强制向下滚动.我怎样才能解决这个问题?

java swing jscrollpane jlist autoscroll

14
推荐指数
1
解决办法
2万
查看次数

在加载之前隐藏的iframe的Javascript问题

我有一个页面,其中包含iframe使用Javascript加载的页面:

的index.html

<iframe id="myFrame" width="800" height="600" style="display: none;"></iframe>
<div id="loader"><!-- some loading indicator --></div>

<script type="text/javascript">
function someFunction() {
  var myFrame = document.getElementById('myFrame');
  var loader = document.getElementById('loader');

  loader.style.display = 'block';

  myFrame.src = 'myFrame.html';
  myFrame.onload = function() {
    myFrame.style.display = 'block';
    loader.style.display = 'none';
  };
}
</script>
Run Code Online (Sandbox Code Playgroud)

加载的页面iframe包含一些Javascript逻辑,用于计算某些元素的大小,以便添加JS驱动的滚动条(jScrollPane + jQuery Dimensions).

myFrame.html

<div id="scrollingElement" style="overflow: auto;">
  <div id="several"></div>
  <div id="child"></div>
  <div id="elements"></div>
</div>

<script type="text/javascript">
$(document).load(function() {
  $('#scrollingElement').jScrollPane();
});
</script>
Run Code Online (Sandbox Code Playgroud)

这适用于Chrome(可能还有其他Webkit浏览器),但在Firefox和IE中失败,因为在jScrollPane调用时,所有元素仍然是隐形的,jQuery Dimensions无法确定任何元素的维度.

有没有办法确保被叫 …

javascript iframe jscrollpane

14
推荐指数
2
解决办法
2万
查看次数

如何强制JScrollPane只滚动垂直?

伙计们,我需要在jscrollpanel中放置一些按钮,但JScrollPane不会垂直创建滚动.我在JScrollPane中使用JPanel,它使用简单的FlowLayout布局.如何让JScrollPanel只在垂直方向滚动?

问题:

在此输入图像描述

期望的解决方案: 在此输入图像描述

java swing jscrollpane

14
推荐指数
1
解决办法
1万
查看次数

jScrollPane和jQuery 1.8.0

更新到jQuery 1.8.0后,jScrollPane给了我这个错误:

未捕获错误:语法错误,无法识别的表达式:[type = text/javascript],not([type])

在这一行:

$("script",elem).filter('[type=text/javascript],not([type])').remove();
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

谢谢

jquery jscrollpane

14
推荐指数
2
解决办法
5705
查看次数

为什么JScrollPane不响应鼠标滚轮事件?

我有一个JScrollPane包含BoxLayout(PAGE AXIS)的面板.

我的问题是JScrollPane不响应鼠标滚轮事件.要使用鼠标滚轮滚动我需要在JScrollBar.

我发现这个线索,我没有MouseMotionListenerMouseWheelListener只有一个MouseListener.我认为我的问题来自于我的JScrollPane行为JPanel包含其他面板本身.因此,当鼠标位于其中的面板上时JScrollPane,似乎该面板消耗了该事件,我从未见过滚动窗格.

是否有正确的方法可以使滚动窗格的子项捕获的事件对此滚动窗格可见?

SSCCE:

在此输入图像描述

这是一个简单的测试用例,试图显示我在Swing应用程序中尝试的时间.

框架:

public class NewJFrame extends javax.swing.JFrame {

    public NewJFrame() {
        initComponents();
        for (int i = 0; i < 50; i++) {
            jPanel1.add(new TestPanel());
        }
    }

private void initComponents() {
        jScrollPane1 = new javax.swing.JScrollPane();
        jPanel1 = new javax.swing.JPanel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1,    javax.swing.BoxLayout.PAGE_AXIS));
        jScrollPane1.setViewportView(jPanel1);

        getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);

        pack();
    }

    public static void main(String args[]) …
Run Code Online (Sandbox Code Playgroud)

events swing mouseevent jscrollpane

14
推荐指数
2
解决办法
7741
查看次数

自动滚动到文本区域的底部

我有一个带滚动条的文本区域.我会定期添加新的文本行.我希望每当添加新行时,文本区域会自动滚动到最底部的条目(最新的条目).我怎么能做到这一点?

textAreaStatus = new WebTextArea();
scrollPane = new JScrollPane(textAreaStatus);
textAreaStatus.setBackground(Color.black);
textAreaStatus.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
Run Code Online (Sandbox Code Playgroud)

java swing jscrollpane jtextarea jscrollbar

13
推荐指数
2
解决办法
2万
查看次数

如何在JScrollPane上增加慢滚动速度?

我在我的项目中添加了JPanel一个JScrollPane.

所有工作正常,但有关于使用鼠标滚轮一个问题鼠标滚轮在JPanel的.滚动速度非常慢.如何让它更快?

我的代码是:

JPanel panel = new JPanel();

panel.setLayout(new BorderLayout());
objCheckBoxList = new CheckBoxList();
BaseTreeExplorer node = (BaseTreeExplorer)projectMain.objCommon.tree.getLastSelectedPathComponent();
if (node.getObject() != null) {
    cmbList.setSelectedItem(node.getParent().toString());
} else {
    if (node.toString().equalsIgnoreCase("List of attributes")) {
        cmbList.setSelectedIndex(0);
    } else {
        cmbList.setSelectedItem(node.toString());
    }
}

panel.add(objCheckBoxList);

JScrollPane myScrollPanel = new JScrollPane(panel);

myScrollPanel.setPreferredSize(new Dimension(200, 200));
myScrollPanel.setBorder(BorderFactory.createTitledBorder("Attribute List"));
Run Code Online (Sandbox Code Playgroud)

java swing jpanel mousewheel jscrollpane

13
推荐指数
1
解决办法
8195
查看次数

Jquery Lazyload回调

我目前正在使用Jquery Lazy Load,我想知道是否有一种方法可以在我的容器中的所有图像结束加载时进行回调(当懒惰加载完成了他所有的魔法时).

这样做的原因是我也在使用jScrollPane插件,我想调用jScrollPane reinitialize函数.

谢谢'

jquery lazy-loading callback jquery-plugins jscrollpane

13
推荐指数
1
解决办法
2万
查看次数