首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JProgressBar in JTextPane

JProgressBar in JTextPane
EN

Stack Overflow用户
提问于 2016-02-21 12:39:13
回答 1查看 129关注 0票数 0

我在文本窗格中添加了一个进度条,但是我不能调整所添加的进度条的宽度(可以调整大小高度)。请你帮我解决这个问题,并告诉我如何删除进度栏,一旦我完成了它。

代码语言:javascript
复制
JProgressBar progressBar = new JProgressBar();
progressBar.setStringPainted(true);
progressBar.setPreferredSize(new Dimension(50, 15));
progressBar.setMinimum(0);
progressBar.setMaximum((int) file.length());

textPane.setSelectionStart(textPane.getText().length());
textPane.setSelectionEnd(textPane.getText().length());
textPane.insertComponent(progressBar);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-21 13:08:40

我认为您在质疑如何为JProgressBar设置首选宽度,对吗?

如果这是您的问题,您应该使用setMaximumSize而不是setPreferredSize

代码语言:javascript
复制
JProgressBar progressBar = new JProgressBar();
progressBar.setStringPainted(true);
//progressBar.setPreferredSize(new Dimension(50, 15));
progressBar.setMaximumSize(new Dimension(50, 15)); // This line instead of above line
progressBar.setMinimum(0);
progressBar.setMaximum((int) file.length());

编辑以删除组件--您应该假设JTextPane中的组件是一些字符,然后从JTextPane's Document对象中删除它们。我还假设了一个临时JButton来引发remove事件:

代码语言:javascript
复制
JButton b = new JButton("Remove!");
b.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
            try {
                textPane.getDocument().remove(0, 1);
            } catch (BadLocationException e1) {
                e1.printStackTrace();
            }
        }
    });

祝好运。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35536231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档