gpt4 book ai didi

java - JTextPane 中的 JProgressBar

转载 作者:行者123 更新时间:2023-12-01 10:21:57 26 4
gpt4 key购买 nike

我在文本 Pane 中添加了进度条,但无法调整添加的进度条的宽度(可以调整高度)。您能否帮我解决这个问题,并告诉我如何在完成后删除进度条。

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);

最佳答案

我认为您正在询问如何设置 JProgressBar 的首选宽度,对吧?

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

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 的 Document 对象中删除它们。我还假设有一个临时 JButton 来引发删除事件:

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();
}
}
});

祝你好运。

关于java - JTextPane 中的 JProgressBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35536231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com