当调用JPanel实例创建方法时,该面板与前一个重叠。我该如何阻止呢?

疯狂大黄蜂

可能是一个简单的解决方法,但是如果有人可以帮助我解决这个问题,那就太好了!

所以我有一种方法可以创建一个面板,并将其添加到中JFrame

问题是,我想继续使用略有不同的文本来调用该方法。

尽管确实可以回忆起,但它会在前一个实例之上创建一个新实例,而不是替换它。

}public void lyricPrinter(){

    System.out.println(lyrics);
    JTextArea textarea = new JTextArea(lyrics);
    textarea.setBackground(Color.LIGHT_GRAY);
    textarea.setEditable(false);
    //JLabel textarea = new JLabel("not sure what this is...");
    //textarea.setText("<html>"+lyrics+"</html>");

    JScrollPane scroll = new JScrollPane (textarea,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    //GUI.frame.remove(scroll);
    GUI.frame.add(scroll);
    GUI.frame.setVisible(true);
诗人

每次运行该方法时,您都在创建一个新面板。为了防止这种情况,您只需要创建1个Panel Class实例,这样,当该方法运行时,将在同一面板上完成工作。

1-)将Panel实例定义为类的局部变量。2-)在“ lyricPrinter”方法中实例化面板3-)立即使用.removeAll()销毁面板组件

它应该工作。

举个例子;

JScrollPane scroll; //-->> somewhere in your class
public void lyricPrinter(){

    System.out.println(lyrics);
    JTextArea textarea = new JTextArea(lyrics);
    textarea.setBackground(Color.LIGHT_GRAY);
    textarea.setEditable(false);
//JLabel textarea = new JLabel("not sure what this is...");
//textarea.setText("<html>"+lyrics+"</html>");

 **scroll = new JScrollPane (textarea,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scroll.removeAll();**


//GUI.frame.remove(scroll);
GUI.frame.add(scroll);
GUI.frame.setVisible(true);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何向我的节点的“属性编辑器”面板添加一个按钮,该按钮会调用该节点内的一个方法?

当我从main方法调用JFrame子类时,我得到一个空白的JFrame。我该如何解决?

如何制作一个按钮面板,当鼠标悬停在一个按钮上时,一个按钮会变大,但是尺寸的变化不会影响该面板上其他按钮的布局

创建一个rubocop cop,该方法在无障碍调用方法时触发

我有一种从String []中删除空值的方法,我该如何为该函数创建一个方法并稍后对其进行调用?爪哇

表单集中在一个位置时,我该如何调用函数?

当发电机碰到一个确切的数字时,我该如何阻止它生成数字?

我需要创建一个Jpanel数组,还需要使用按钮将正确的面板设置为在按下时可见

我在Ubuntu中删除了一个文件夹,该如何恢复呢?

我该如何调整与JTable中一个JScrollPane上呢?

我该如何写一个json字段来检索呢?

当一个实例调用了它的 -dealloc 方法时?

如何编写一个扩展方法,该方法允许您设置选项而不创建选项实例

使用next方法创建一个迭代器,该方法在调用.next时返回数组的每个值

我正在尝试创建一个引用自身内部变量的结构。我该怎么做呢?

如何使用方法调用在另一个面板中显示特定面板?

创建一个实例化视图,该视图继承了进行视图调用的用户的权限

可以在一个类内调用实例的方法而无需在类的范围内重新创建该实例吗?

当一个类的实例变量在列表中时,如何更改该实例变量

为什么我会有一个无限循环,我该如何做不同呢?

每次调用方法时创建一个新的Set

每次调用方法时如何创建一个新文件?

如何为一个工厂创建方法,该方法属于同一模型的两个不同实例,并且需要它的ID在Factory Bot中?

我应该共享Materializer实例还是在需要时始终创建一个新实例?

我应该如何创建一个 Dockerfile 以在一个实例中运行多个服务?

如何在链接方法时克隆一个实例?

“动作按钮”调用了多种方法,我该如何在它们之间插入一个短暂的暂停?

Objc-C to Swift:如何在Swift中创建一个属性,以确保调用者使用该属性时该属性为某种类型?

当我调用一个方法返回一个包含所述变量的案例类实例时,变量赋值会怎样?