- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想自定义滚动条对象的输出。下面的代码适用于 JTextPane,那么 JScrollBar 的等效代码是什么?
private JTextPane textPane;
StyledDocument doc = textPane.getStyledDocument();
SimpleAttributeSet keyWord = new SimpleAttributeSet();
StyleConstants.setForeground(keyWord, Color.RED);
StyleConstants.setBackground(keyWord, Color.YELLOW);
StyleConstants.setBold(keyWord, true);
最佳答案
如文档 How to Use Scroll Panes 中所述,
A JScrollPane provides a scrollable view of a component. When screen real estate is limited, use a scroll pane to display a component that is large or one whose size can change dynamically...
.. Here's the code that creates the text area, makes it the scroll pane's client, and adds the scroll pane to a container.
因此,您可以使 JTextPane 成为 JScrollBar 的客户端。
public class Sample extends JFrame {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Sample frame = new Sample();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Sample() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 300, 300);
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout(0, 0));
setContentPane(panel);
JTextPane textPane = new JTextPane();
textPane.setEditable(false);
JScrollPane scrollPane = new JScrollPane();
scrollPane
.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.add(textPane);
scrollPane.setViewportView(textPane);
panel.add(scrollPane, BorderLayout.CENTER);
final StyledDocument doc = textPane.getStyledDocument();
insertStringToDoc(getString() + "\n", doc, doc.getLength());
}
private void insertStringToDoc(String str, StyledDocument doc, int offset) {
try {
SimpleAttributeSet keyWord = new SimpleAttributeSet();
StyleConstants.setForeground(keyWord, Color.RED);
StyleConstants.setBackground(keyWord, Color.YELLOW);
StyleConstants.setBold(keyWord, true);
doc.insertString(doc.getLength(), str, keyWord);
} catch (Exception e) {
e.printStackTrace();
}
}
private String getString() {
return "hello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello "
+ "\nhello hello hello hello hello hello hello hello hello hello hello ";
}
}
关于java - JScrollBar 的样式文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25780348/
大家晚上好; 我java swing我正在尝试有一个如图所示的菜单 (图中左侧) 但是,看起来比我想象的要困难。我有边框布局,我把盒子布局放在中间,jscroll栏放在右边。在框布局内,我但带有图标的
我添加了以下代码,用于在文本字段中显示滚动条。但它仍然没有出现。有人可以帮我解决这个问题吗?我无法弄清楚错误发生在哪里: public JTextArea talkArea = new JTextAr
我想创建一个水平滚动条,其最大值设置为2(它应该只允许选择0、1或2作为值),但如果该值小于11,旋钮是不可见的。 scrlLineDist = new JScrollBar(); s
我正在尝试将垂直的 JScrollBar 放在 JPanel 的顶部。我可以很容易地添加滚动条,但是当我运行程序时,我的滚动条没有任何效果。我可以上下拖动它,但 JPanel 的内容不会移动。我已经阅
当我将JScrollBar的visibleAmount设置为等于最大值时,JScrollbar的 slider 消失了。我不知道为什么?我想让滚动条像这样: [] (拇指的大小充满了 JScrollb
我想自定义滚动条对象的输出。下面的代码适用于 JTextPane,那么 JScrollBar 的等效代码是什么? private JTextPane textPane; StyledD
如何根据滚轮鼠标旋转量以编程方式移动 JScrollBar? 最佳答案 您可以使用 JScrollBar 的 setValue 方法来设置滚动条的位置。 或者,您可以使用 JScrollBar 后面的
我想完全改变一个 scollbar 的外观,但是重写 JScrollBar 和 paintComponent 方法不起作用,track 和 thumb 被绘制了但是左右箭头保持不变。 我还在 JScr
所以我使用 Java Swing 为我的应用程序构建 UI,并使用自定义图像来替换丑陋的 Java 图像,自定义图像具有样式并且很容易集成到 Java Swing 中。 现在我的问题是我需要在应用程序
背景 希望在 JScrollPane 的角落添加一个滚动锁定按钮不遮挡视口(viewport)内容。下图显示了一个 JScrollPane包裹在 SwingNode在 JavaFX 应用程序中: 右下
(经过描述,代码中的事情就清楚了) 我有一个程序,其中包含 JScrollBar、JTextArea、JTextFields、JButtons 和其他一些东西。 (我只添加了SSCCE代码) 好的,我
我正疯狂地尝试制作一个更大的 JScrollBar。我想做一个更大的结和轨道...以及 JScrollBar 本身。 我在这里找到了一些代码来扩展我自己的 BasicScrollBarUI 来更改颜色
如果滚动 Pane 的 View 组件足够大,则滚动条拇指很小,因此无法在 Windows L&F 上正确绘制。 这只是一个审美问题;滚动条功能正常,其他 L&F 似乎一切都很好。 有办法解决吗?也许
我希望能够使用 JScrollBar 更改形状的位置和/或大小。我对 Swing 组件还很陌生,但已经弄清楚如何更改字符串的位置,但我不知道如何使用从 PaintComponent 绘制的形状来实现它
我的框架上有一个 JScrollBar,而不是 ScrollFrame 中,并且滚动条旋钮/ slider 非常薄。我尝试更改滚动条的属性,并尝试制作自定义 JScrollBar 组件,但我无法找到更
我有一个 jScrollbar,当我滚动它时(它的值从 0 到 100),我想在文本字段中显示该值。这是如何从 jScrollBar 获取值 AdjustmentListener adjListene
我有一系列列标签,它们独立于下面矩阵中显示的数据滚动。除了悬停时,我可以使整个滚动条透明。标签正对着数据,我喜欢这样,但是,在悬停时,除非我移动垂直滚动条(我宁愿不这样做),否则滚动条会遮住所有标签的
如何改变 JScroll Bar 中箭头的高度?我能够改变宽度滚动条,但箭头的高度仍然很小。感谢您的帮助。 最佳答案 绘画是由几个 BasicArrowButtons 完成的,它们的绘画方法中有这个:
在我的应用程序中,我有两个 Swing 组件在彼此之上,看起来像下图。问题是橙色组件需要一个垂直滚动条,但我希望组件的右边缘保持完全对齐(并且宽度可以随着用户使应用变宽或变窄而变化)。如果我使用网格布
因此有一个 JScrollBar 的构造函数,如下所示: public JScrollBar(int orientation, int value, int extent, int min, int
我是一名优秀的程序员,十分优秀!