--- java/src/charva/awt/Component.java.orig 2016-06-20 12:40:44 UTC
+++ java/src/charva/awt/Component.java
@@ -118,6 +118,17 @@ public abstract class Component {
}
/**
+ * Determines whether this component will be displayed on the screen
+ * if it's displayable.
+ * @return true
if the component and all of its ancestors
+ * are visible, false
otherwise
+ */
+ public boolean isRecursivelyVisible() {
+ Container parent = getParent();
+ return _visible && (parent == null || parent.isRecursivelyVisible());
+ }
+
+ /**
* To be implemented by concrete subclasses.
*/
public abstract void draw();
@@ -449,7 +460,7 @@ public abstract class Component {
* traversal.
*/
public boolean isFocusTraversable() {
- return (_enabled && _visible);
+ return (_enabled && isRecursivelyVisible());
}
/**