我看到JScrollPane.setWheelScrollingEnabled(boolean)启用或禁用鼠标滚轮滚动的方法.有没有办法调整滚动的速度?在我看来,这是非常缓慢的.无论我制作什么尺寸的窗口,滚动每次点击大约三个像素.我希望它远不止于此.
有任何想法吗?
我在JScrollPane上嵌入了一个JTextArea,并使用该JTextArea进行输出.
我想,只要在输出中超出的JTextArea的大小,JTextArea中自动滚动,这样用户就不必做手工向下滚动查看最近的输出.
我怎样才能做到这一点?
我已经将JTextArea和JScrollPane的autoscroll属性设置为true.
JScrollPane.根据我的应用程序中发生的事件,我在运行时将一个位于行内的JTable 添加到表中.我想让一个新的行添加到表格时,scoll窗格滚动到表格的底部.
对于JLists有[ensureIndexIsVisible][1]()强制列表中的特定索引可见.我正在寻找相同的东西,但对于JTable.看起来我可能不得不手动移动滚动窗格上的滚动视图,但我认为必须有一个更简单的方法.
有必要在任何时候启用水平滚动条吗?
情况就是这样:我有一个JTable单元格存储了很长的数据.因此,我需要有水平滚动条.
有人对此有所了解吗?
最近的更新,Mac os Sierra,对于我的Macbook专业版,我正面临着所有Java应用程序(如Intellij IDEA社区版)的滚动问题.
编辑器窗格中的滚动非常快.滚动增量的单位似乎很大.
Intellij IDEA版本是2016.2.3.Java版本是Java 8 Update 10.1.
即使在"系统首选项" - >"Java" - >"高级"选项卡中,我也会看到相同的行为.
如果您运行下面的小样本,您将看到中心区域周围的边框.我不确定为什么会出现这种边界.
当JTable在JScrollPane中时会发生这种情况.我尝试了各种各样的东西去除它,但到目前为止没有运气.没有JScrollPane的JTable没有显示边框.
见下面的示例.TIA.
public class TestScrollPane extends JFrame {
public static void main(String[] args) {
JFrame frame = new TestScrollPane();
JPanel panel = new JPanel();
JTable table = new JTable();
panel.setLayout(new BorderLayout());
panel.add(new JLabel("NORTH"), BorderLayout.NORTH);
panel.add(new JLabel("SOUTH"), BorderLayout.SOUTH);
JScrollPane sp = new JScrollPane(table);
// None of these have any effect
sp.setBorder(null);
sp.getInsets().set(0, 0, 0, 0);
sp.setViewportBorder(null);
sp.getViewport().setBorder(null);
sp.getViewport().getInsets().set(0, 0, 0, 0);
sp.getViewport().setOpaque(true);
panel.add(sp, BorderLayout.CENTER);
// Adding the table alone shows no border
// panel.add(table, BorderLayout.CENTER);
frame.add(panel);
frame.setVisible(true);
}
public TestScrollPane() …Run Code Online (Sandbox Code Playgroud) 如何将滚动条添加到文本区域.我试过这个代码,但它没有用.
middlePanel=new JPanel();
middlePanel.setBorder(new TitledBorder(new EtchedBorder(), "Display Area"));
// create the middle panel components
display = new JTextArea(16, 58);
display.setEditable(false); // set textArea non-editable
scroll = new JScrollPane(display);
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
//Add Textarea in to middle panel
middlePanel.add(scroll);
middlePanel.add(display);
Run Code Online (Sandbox Code Playgroud)
谢谢
我目前在JScrollPanes中嵌套了JTables,如下所示:

我的问题是,在创建表时,每个表中的行数是可变的.我想要做的是如果表太短,则使JScrollpane变小,但如果表太长,我想将它保持在设定的大小.
我怎么能做到这一点?
我正在尝试使用JTextArea实现JScrollPane.JTextArea被附加到,我希望JScrollPane在添加更多文本时继续向下滚动.怎么能实现这一目标?
奇怪的是JScrollPane没有方法addAdjustmentListener().然而,adjustListener据说与滚动条一起使用.无论何时JScrollPane以任何一种方式滚动,我都希望发生一些事情.怎么实现这样的事情?
jscrollpane ×10
swing ×10
java ×9
jtable ×4
jtextarea ×3
awt ×1
java-8 ×1
jpanel ×1
jscrollbar ×1
macos-sierra ×1
mousewheel ×1
scroll ×1