java - 在 JScrollPane 中显示 JLayeredPane

标签 java swing scala jscrollpane jlayeredpane

这段代码显示了scrollPane内部的波形:

var scrollPane = new JScrollPane
var waveform = new Waveform(trackModel)   // JPanel with waveform

scrollPane.setViewportView(waveform)

这仅向我显示了scrollPane 中的灰色背景:

var scrollPane = new JScrollPane
var layeredPane = new JLayeredPane
var waveform = new Waveform(trackModel)   // JPanel with waveform

layeredPane.add(waveform, JLayeredPane.DEFAULT_LAYER)
layeredPane.setPreferredSize(trackModel.getSize())
scrollPane.setViewportView(layeredPane)

我不知道为什么波形(Waveform extends JPanel)没有显示。以下是更多信息:

System.out.println("waveform visibility: " + waveform.isVisible)
System.out.println("layeredPane visibility: " + layeredPane.isVisible)
System.out.println("scrollPane visibility: " + scrollPane.isVisible)

System.out.println("waveform dimensions: " + waveform.getPreferredSize.width + "/" + waveform.getPreferredSize.height)
System.out.println("layeredPane dimensions: " + layeredPane.getPreferredSize.width + "/" + layeredPane.getPreferredSize.height)
System.out.println("scrollPane dimensions: " + scrollPane.getPreferredSize.width + "/" + scrollPane.getPreferredSize.height)

System.out.println("waveform dimensions: " + waveform.getWidth + "/" + waveform.getHeight)
System.out.println("layeredPane dimensions: " + layeredPane.getWidth + "/" + layeredPane.getHeight)
System.out.println("scrollPane dimensions: " + scrollPane.getWidth + "/" + scrollPane.getHeight)

输出:

waveform visibility: true
layeredPane visibility: true
scrollPane visibility: true
waveform dimensions: 40315/200
layeredPane dimensions: 40315/200
scrollPane dimensions: 40318/203
waveform dimensions: 0/0
layeredPane dimensions: 0/0
scrollPane dimensions: 0/0

最佳答案

解决方案

我将波形的setPreferredSize更改为setSize。现在可以了。

关于java - 在 JScrollPane 中显示 JLayeredPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7291324/

相关文章:

java - 将 JPanel 放置在 JFrames 上不正确

java - 从另一个类访问 jtable

scala - (如何)你能 curry 组成一元函数吗?

java - 如何让Java断言在sbt项目中工作?

java - 如何在 Spring Data 自定义方法实现中使用类型参数?

java - hibernate 搜索(Lucene + hibernate 核心)如何工作?

java - 中断、关闭方法和 ExecutorService

java - 如何在 Java JTextPane 中禁用 WordWrap?

java - 在重载版本中调用构造函数

Scala - 使用来自不同文件的类