Class Frame
- All Implemented Interfaces:
Proxy
,Accessible
,Buildable
,ConstraintTarget
GtkFrame
is a widget that surrounds its child with a decorative
frame and an optional label.
If present, the label is drawn inside the top edge of the frame.
The horizontal position of the label can be controlled with
setLabelAlign(float)
.
GtkFrame
clips its child. You can use this to add rounded corners
to widgets, but be aware that it also cuts off shadows.
GtkFrame as GtkBuildable
The GtkFrame
implementation of the GtkBuildable
interface supports
placing a child in the label position by specifying “label” as the
“type” attribute of a <child>
element. A normal content child can
be specified without specifying a <child>
type attribute.
An example of a UI definition fragment with GtkFrame:
<object class="GtkFrame">
<child type="label">
<object class="GtkLabel" id="frame_label"/>
</child>
<child>
<object class="GtkEntry" id="frame_content"/>
</child>
</object>
CSS nodes
frame
├── <label widget>
╰── <child>
GtkFrame
has a main CSS node with name “frame”, which is used to draw the
visible border. You can set the appearance of the border using CSS properties
like “border-style” on this node.
Accessibility
GtkFrame
uses the GTK_ACCESSIBLE_ROLE_GROUP
role.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Frame.Builder<B extends Frame.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.static class
Nested classes/interfaces inherited from class org.gnome.gtk.Widget
Widget.DestroyCallback, Widget.DirectionChangedCallback, Widget.HideCallback, Widget.KeynavFailedCallback, Widget.MapCallback, Widget.MnemonicActivateCallback, Widget.MoveFocusCallback, Widget.QueryTooltipCallback, Widget.RealizeCallback, Widget.ShowCallback, Widget.StateFlagsChangedCallback, Widget.UnmapCallback, Widget.UnrealizeCallback, Widget.WidgetClass, Widget.WidgetImpl
Nested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClass
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
Nested classes/interfaces inherited from interface org.gnome.gtk.Accessible
Accessible.AccessibleImpl, Accessible.AccessibleInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Buildable
Buildable.BuildableIface, Buildable.BuildableImpl
Nested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTargetImpl, ConstraintTarget.ConstraintTargetInterface
-
Constructor Summary
ConstructorDescriptionFrame()
CallsFrame(java.lang.String)
with label =null
Creates a newGtkFrame
, with optional labellabel
.Frame
(MemorySegment address) Create a Frame proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected Frame
asParent()
Returns this instance as if it were its parent type.static Frame.Builder
<? extends Frame.Builder> builder()
AFrame.Builder
object constructs aFrame
with the specified properties.protected void
computeChildAllocation
(Allocation allocation) getChild()
Gets the child widget of this Frame.getLabel()
Returns the frame labels text.float
Retrieves the X alignment of the frame’s label.Retrieves the label widget for the frame.static MemoryLayout
The memory layout of the native struct.static Type
getType()
Get the GType of the Frame classvoid
Sets the child widget of this Frame.void
Creates a newGtkLabel
with thelabel
and sets it as the frame's label widget.void
setLabelAlign
(float xalign) Sets the X alignment of the frame widget’s label.void
setLabelWidget
(@Nullable Widget labelWidget) Sets the label widget for the frame.Methods inherited from class org.gnome.gtk.Widget
actionSetEnabled, activateActionIfExists, activateDefault, activateWidget, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, cssChanged, directionChanged, disposeTemplate, dragCheckThreshold, emitDestroy, emitDirectionChanged, emitHide, emitKeynavFailed, emitMap, emitMnemonicActivate, emitMoveFocus, emitQueryTooltip, emitRealize, emitShow, emitStateFlagsChanged, emitUnmap, emitUnrealize, errorBell, focus, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getBaseline, getCanFocus, getCanTarget, getChildVisible, getClipboard, getColor, getCssClasses, getCssName, getCursor, getDefaultDirection, getDirection, getDisplay, getFirstChild, getFocusable, getFocusChild, getFocusOnClick, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, moveFocus, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, pick, queryTooltip, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, root, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, sizeAllocate, snapshot, snapshotChild, stateFlagsChanged, systemSettingChanged, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unroot, unsetStateFlags, unsetStateFlags
Methods inherited from class org.gnome.gobject.GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newInstance, newInstance, newv, notify_, notify_, notifyByPspec, onNotify, ref, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.gnome.gtk.Accessible
announce, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updateProperty, updateRelation, updateState
Methods inherited from interface org.gnome.gtk.Buildable
getBuildableId
-
Constructor Details
-
Frame
Create a Frame proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
Frame
Creates a newGtkFrame
, with optional labellabel
.If
label
isnull
, the label is omitted.- Parameters:
label
- the text to use as the label of the frame
-
Frame
public Frame()CallsFrame(java.lang.String)
with label =null
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()
doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName()
. This will call the native function pointer of this virtual method in the typeclass of the parent type. -
getChild
Gets the child widget of this Frame.- Returns:
- the child widget of this Frame
-
getLabel
Returns the frame labels text.If the frame's label widget is not a
GtkLabel
,null
is returned.- Returns:
- the text in the label, or
null
if there was no label widget or the label widget was not aGtkLabel
. This string is owned by GTK and must not be modified or freed.
-
getLabelAlign
public float getLabelAlign()Retrieves the X alignment of the frame’s label.- Returns:
- the frames X alignment
-
getLabelWidget
-
setChild
Sets the child widget of this Frame.- Parameters:
child
- the child widget
-
setLabel
Creates a newGtkLabel
with thelabel
and sets it as the frame's label widget.- Parameters:
label
- the text to use as the label of the frame
-
setLabelAlign
public void setLabelAlign(float xalign) Sets the X alignment of the frame widget’s label.The default value for a newly created frame is 0.0.
- Parameters:
xalign
- The position of the label along the top edge of the widget. A value of 0.0 represents left alignment; 1.0 represents right alignment.
-
setLabelWidget
Sets the label widget for the frame.This is the widget that will appear embedded in the top edge of the frame as a title.
- Parameters:
labelWidget
- the new label widget
-
computeChildAllocation
-
builder
AFrame.Builder
object constructs aFrame
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withFrame.Builder.build()
.
-