proper layered_pane for JDialog, e.g. relevant for floating dockables in jEdit, for completion popup in text field;
authorwenzelm
Sun, 10 Aug 2014 13:59:08 +0200
changeset 57879 91e188508bc9
parent 57878 51a2f9140175
child 57880 47c092fd4b45
proper layered_pane for JDialog, e.g. relevant for floating dockables in jEdit, for completion popup in text field;
src/Pure/GUI/gui.scala
--- a/src/Pure/GUI/gui.scala	Sun Aug 10 13:06:26 2014 +0200
+++ b/src/Pure/GUI/gui.scala	Sun Aug 10 13:59:08 2014 +0200
@@ -12,7 +12,7 @@
 import java.awt.{Image, Component, Container, Toolkit, Window, Font, KeyboardFocusManager}
 import java.awt.font.{TextAttribute, TransformAttribute, FontRenderContext, LineMetrics}
 import java.awt.geom.AffineTransform
-import javax.swing.{ImageIcon, JOptionPane, UIManager, JLayeredPane, JFrame, JWindow,
+import javax.swing.{ImageIcon, JOptionPane, UIManager, JLayeredPane, JFrame, JWindow, JDialog,
   JButton, JTextField}
 
 import scala.collection.convert.WrapAsJava
@@ -208,8 +208,9 @@
 
   def layered_pane(component: Component): Option[JLayeredPane] =
     parent_window(component) match {
-      case Some(window: JWindow) => Some(window.getLayeredPane)
-      case Some(frame: JFrame) => Some(frame.getLayeredPane)
+      case Some(w: JWindow) => Some(w.getLayeredPane)
+      case Some(w: JFrame) => Some(w.getLayeredPane)
+      case Some(w: JDialog) => Some(w.getLayeredPane)
       case _ => None
     }