小编Jam*_*ota的帖子

removeAll()处的线程转储

我有一个按钮删除现有的JPanel并添加新的JPanel.但是当我按下那个按钮时,我的程序会挂起.我使用jstack跟踪并发现程序卡在removeAll()

这些是相关的线程转储:

"AWT-EventQueue-0" prio=6 tid=0x000000000df7f000 nid=0x394 runnable [0x000000002752a000]
   java.lang.Thread.State: RUNNABLE
    at java.lang.Thread.holdsLock(Native Method)
    at java.awt.Component.checkTreeLock(Component.java:1199)
    at java.awt.Component.getOpaqueShape(Component.java:9804)
    at java.awt.Container.getOpaqueShape(Container.java:4066)
    at java.awt.Component.calculateCurrentShape(Component.java:9892)
    at java.awt.Component.applyCurrentShape(Component.java:9925)
    at java.awt.Container.recursiveApplyCurrentShape(Container.java:4132)
    at java.awt.Container.recursiveApplyCurrentShape(Container.java:4111)
    at java.awt.Component.applyCurrentShapeBelowMe(Component.java:9943)
    at java.awt.Component.mixOnHiding(Component.java:10003)
    - locked <0x0000000089600fd0> (a java.awt.Component$AWTTreeLock)
    at java.awt.Container.mixOnHiding(Container.java:4265)
    - locked <0x0000000089600fd0> (a java.awt.Component$AWTTreeLock)
    at java.awt.Component.removeNotify(Component.java:7027)
    - locked <0x0000000089600fd0> (a java.awt.Component$AWTTreeLock)
    at java.awt.Container.removeNotify(Container.java:2816)
    - locked <0x0000000089600fd0> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.removeNotify(JComponent.java:4771)
    at java.awt.Container.removeNotify(Container.java:2800)
    - locked <0x0000000089600fd0> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.removeNotify(JComponent.java:4771)
    at java.awt.Container.removeNotify(Container.java:2800)
    - locked <0x0000000089600fd0> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.removeNotify(JComponent.java:4771)
    at java.awt.Container.removeNotify(Container.java:2800)
    - …
Run Code Online (Sandbox Code Playgroud)

java multithreading jstack thread-dump

5
推荐指数
0
解决办法
186
查看次数

java GUI分配数组值

有一个Paraview用户界面如下吸引我.

Paraview控制UI

我认为这个接口可以用来为数组赋值.它的工作原理如下:

排列

我想将它实现为Java程序,但我发现没有Java API可以支持我的想法.与我最接近的设计是添加多个JSlider,如下所示:

在此输入图像描述

但是,如果它是一个100大小的阵列,我不想添加100个JSliders.你有更好的解决方案吗?

java arrays user-interface

5
推荐指数
1
解决办法
272
查看次数