- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我创建了一个 JDialog
扩展,它在内容 Pane 中有一个组件,一个 JProgressBar
。 JProgressBar
是公共(public)的,因为我希望值由所有者类设置。当我创建一个新的对话框时,内容 Pane 根本没有出现,导致显示它后面的任何内容而不是进度条:
public class ProgressBarDialog extends JDialog {
public JProgressBar bar;
public ProgressBarDialog(Frame owner, String title) {
super(owner, title);
bar = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100);
bar.setValue(0);
bar.setStringPainted(true);
bar.setPreferredSize(new Dimension(200, 100));
getContentPane().setLayout(new BorderLayout());
getContentPane().add(bar, BorderLayout.CENTER);
setSize(200, 100);
setLocationRelativeTo(null);
setVisible(true);
toFront();
}
public void setProgress(int p) {
bar.setValue(p);
}
}
这个ProgressBarDialog
的使用代码如下
ProgressBarDialog progBarDialog = new ProgressBarDialog(null,"Submitting");
//Stuff gets done
progBarDialog.setProgress(20);
//Stuff gets done
progBarDialog.setProgress(45);
//Stuff gets done
progBarDialog.setProgress(70);
//Stuff gets done
progBarDialog.setProgress(100);
//Stuff gets done
progBarDialog.dispose();
我是否遗漏了什么,因为这是(我认为)一个相当简单的实现?
根据 camickr 的建议,我在这里创建了一个测试 SSCCE:TestDialog.java .如您所知,代码完全相同。问题是测试工作并正确显示。我已经添加了与对话框窗口的其他实现相关的所有代码。
最佳答案
a) 进度条不应公开。如果你想改变它的值,那么创建一个 setter 方法。
b) 您不应该使用 JFrame 作为子窗口。您应该使用 JDialog,然后将框架指定为对话框的所有者。
c) JFrame 或 JDialog 的默认布局是 BorderLayout,因此无需重新设置布局。
d) 一起使用 setSize() 和 pack() 是没有用的。该包将覆盖 setSize()。使用其中之一。
e) 在组件上使用 setSize() 和 setPreferredSize() 是没有用的。布局管理器将使用首选尺寸作为建议,然后根据其规则设置尺寸。
所以从贴出的几行来看问题很多。尽管它们不太可能引起任何实际问题,但我还是想知道程序的其余部分是什么样子的。您可能遗漏了有助于我们解决问题的宝贵信息。
如果您需要进一步的帮助,那么您需要创建一个 Short, Self Contained, Compilable and Executable, Example Program (SSCCE),这表明了不正确的行为。
关于java - ContentPane 和 JProgressBar 不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1257440/
我正在使用 DOJO 的 ContentPane模块。我有一个 div一个 Pane 中的元素,我需要给它一个特定的高度 - 比 ContentPane 的高度小 100 像素使div当您更改 Con
我想要一个具有以下结构的 BorderContainer: 我有这个代码,但它不起作用。底部的高度不起作用,所以我不知道如何修复它。 this.bc = new Bor
我在我的应用程序中使用 dojo 1.9。我在我的 ContentPane 中发布带有 href 的 html 代码。 html 代码有脚本但不起作用。 index.html代码:
我试图摆脱使用 NetBeans 创建简单的 Swing GUI,因此试图更好地理解整个容器/布局机制。我一直在阅读各种内联内容,尤其是 https://docs.oracle.com/javase/
我有以下代码: import java.awt.*; import javax.swing.*; import java.util.ArrayList; import java.util.List;
我正在开发 GUI,并且在 Pane 方面没有遇到任何问题。 我的 GUI 分为两部分(topPane 和 bottomPane)。 我的两个 Pane 上都有按钮和标签,但其中一个按钮功能我想更改背
我的代码有问题,因为我想做的就是显示文本字段和底部的按钮,所以我使用了:setLayout(new FlowLayout()); 但我遇到了一个错误,所以我决定更改为 getContenPane();
同样的事情有两种方式。这些行有什么不同? 第1条语句中使用了 getContentPane() 方法,它的目的是什么?这是第二个陈述的简写 JLabel lblNewLabel = new JLabe
显然,在设置 ContentPane 的 content 属性时,Dojo 会做一些清理工作。例如:如果我将 content 设置为小部件 A,然后将 content 设置为小部件 B,则小部件 A
我有 2 个 html 页面 A 和 B。页面 A 有一个 dojox/layout/contenpane 如下: 我正在使用 ContentPane 的 href 属性(使用 XHR)在 A 中加
我是新手,因此非常感谢建议和帮助。 似乎无法让我的容器 contentPane 显示标题。 我的代码: class CreateStockCodeDetails extends JFrame impl
我正在用 java 创建一个带有圆角的登录窗口。一切正常,请参见图片,但我在使 JFrame/ContentPane 透明方面遇到了挑战。每个角落都有白色区域(如箭头所示),我似乎无法删除这些区域,因
我现在使用的是 dojo 1.8.3,现在我的页面上有一个带有 2 ContentPane 的 BorderContainer。我想听resize事件,代码是这样的 dojo.ready(functi
我有一个 JSP 页面,其中 TabContainer 中有 6 个自定义小部件。代码看起来像这样: Registries"> ...(5 more Co
我在使用 contentPane 时遇到问题。这是有问题的代码: public void graph() { JFrame frame = new JFrame("Graph"); G
据我了解,以下内容设置了 contentPane 的背景颜色。如何将图片设置为背景? 我已经尝试过这些: Setting background images in JFrame JAVA: Ways
所以我在java中有一个snake程序,工作完美,但是在我的Frame类中我无法更改我的JFrame内容 Pane 的背景颜色,我使用getContentPane()。 setBackground(C
我有一个带有启动按钮的 JPanel,当按下该按钮时,它会通过 mainFrame 调用 Controller 中的 start() 函数 public void actionPerformed(Ac
我在 dojo.contentPane 中显示了 100 多个 li 元素的 ul 列表,它显示在扩展 dojo 对话框的自定义对话框中。呈现此 contentPane 时,我希望滚动条自动滑动到第
我正在尝试将通过 dojo.XHRGet 检索到的一些 XML 附加到 dijit.layout.ContentPane。在 Firefox (3.6) 中一切正常,但在 Chrome 中,我只会在特
我是一名优秀的程序员,十分优秀!