草庐IT

java - 如何获取jtree中根节点的所有子节点?

我想获取根节点的所有子节点。例如:Rootchild1child1.child1child2child2.child1现在我想获取名为“child1”和“child2”的两个子节点。该怎么做?有没有可能?请帮助我,在此先感谢.. 最佳答案 获取树的根:tree.getModel().getRoot();然后得到这个根节点的子节点数:tree.getModel().getChildCount(rootNode)然后从0到child的数量再调用tree.getModel().getChild(rootNode,i)获取根节点的子节点。

java - 尝试使用 PowerMock 模拟静态系统类会给出 VerifyError

我正在尝试模拟JOptionPane静态方法,但卡在Java.lang.VerifyError中。所有版本都是最新的,因为我刚刚下载了适用于Mockito的PowerMock及其所有依赖项。我不能使用对上一个问题给出的答案来包装类和子类化包装器——这在我们的应用程序中到处都是。目前,我已经在PowerMock上投入了大量时间,我不想从头开始。有没有办法解决这个错误?我已经在说明中尝试了“模拟静态方法”和“模拟系统类”。我不能再进一步了,因为我所做的只是@RunWith(PowerMockRunner.class)和@PrepareForTest(My.class)。我发现我可以通过任何

Java 键绑定(bind)不工作

我正在尝试在JPanel上使用Java进行键绑定(bind)。当我按下“w”按钮时,我想要执行某个Action。我按照Java教程进行绑定(bind),但actionPerformed方法没有执行(即没有文本打印出来)。以下是我的测试GUI的全部代码,突出显示了相关部分:importjava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjavax.swing.AbstractAction;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swin

java - 使用验证或重新验证删除 Swing 组件

每当我从JPanel中删除和添加swing组件时,我应该执行调用验证还是重新验证? 最佳答案 revalidate()会更好。revalidate()将所有容器标记为不正确或无效。然后它在顶层调用validate()。parent的validate()方法检查是否至少有一个它的直接children被标记为无效或不正确。它调用parent的验证。所以调用revalidate()自动意味着调用validate()。 关于java-使用验证或重新验证删除Swing组件,我们在StackOver

java - 使用注册表管理 Swing Action

通常,当我创建Swing(或任何UI)应用程序时,我会在菜单项和按钮上显示各种操作。我通常会创建一个操作注册表并将操作存储在其中,然后当某些事情发生时,我会根据应用程序的状态在注册表中禁用/启用操作。我不会称自己为狂热的Swing开发人员,尽管我非常了解如何使用它,但这是管理Actions的非常典型的模式吗?或者有更标准的方法吗?谢谢,杰夫 最佳答案 Jeff,您的方法看起来不错。我做同样的事情。我调用注册表ActionHandler,它看起来像这样:importcom.google.common.collect.ClassToIn

java - 如何制作行业标准的桌面 Java 应用程序?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我知道如何在Swing中创建基本控件,但在进行行业标准应用程序开发时,我缺乏执行这些操作的技能。我正在设计一个小型JavaSwing应用程序。我不想为每个目的创建一个JFrame,而是想创建控件,显示它们,隐藏它们(必要时),一切都在一个窗口中。我该怎么做?我是初学者。请向我指出有关使用Swing执行桌面Java应用程序的传统方法的不错的Web资源。

java - 在java中旋转图像

我想旋转图像。我有一个JInternalFrame,其中包含一个JLabel。标签包含图像。图像旋转后,我需要调整内部框架的大小。我目前使用的代码会旋转图像,但图像的边缘周围有黑色并且偏离中心。有关如何解决此问题的任何建议?publicvoidrotateIcon(intangle){intw=theLabel.getIcon().getIconWidth();inth=theLabel.getIcon().getIconHeight();inttype=BufferedImage.TYPE_INT_RGB;//otheroptions,seeapiBufferedImageDaIma

java - 如何使JFrame透明?

如何让JFrame透明化?我想让我的JFrame透明。当我的JFrame位于背景之上时,用户应该会看到背景。 最佳答案 我找到了另一个解决方案。将框架的背景颜色设置为//SettheframebackgroundcolortoatransparentcoloryourFrameHere.setBackground(newColor(0,0,0,0));并记住设置内容Pane(您的JPanel或其他组件)的不透明度//turnoffopacityofthecontentpaneyourContentPaneHere.setOpaque

java - 如何使文本区域文本在行结束时自动转到下一行?

这是我的文本字段代码。当行结束时它并没有改变行,而是继续继续下去,使框架看起来很奇怪。我尝试使用滚动Pane,但它对我没有帮助。JTextAreaTextArea=newJTextArea(7,10);gridConstraints.gridx=0;gridConstraints.gridy=0;TextPanel.add(TextArea,gridConstraints);TextArea.setEditable(true); 最佳答案 如果没有换行和自动换行,JTextArea的大小将超出其原始大小。你可以打电话:textAre

java - 如何将 JLabel 对齐到 JPanel 的左侧?

我想将我的JLabel左对齐。StringlText="mybook";JLabellabel=newJLabel(lText);label.setBorder(newEmptyBorder(25,0,25,500));我尝试使用EmptyBorder来做到这一点,但它没有正确对齐。我正在使用FlowLayout 最佳答案 FlowLayout默认使用CENTER对齐方式。尝试为您的JLabelJPanel容器使用LEFT对齐方式myJPanel.setLayout(newFlowLayout(FlowLayout.LEFT));