added a bunch more swing helper methods; such as an easy function for doing the dreaded grid bag layout and helper properties so its easy to set a width or height for size/preferredSize/minimumSize/maximumSize on components
This commit is contained in:
@@ -1,11 +1,59 @@
|
|||||||
package kotlin.swing
|
package kotlin.swing
|
||||||
|
|
||||||
|
import java.awt.Dimension
|
||||||
|
import java.awt.Component
|
||||||
import javax.swing.JComponent
|
import javax.swing.JComponent
|
||||||
|
|
||||||
var JComponent.description: String?
|
var JComponent.description: String?
|
||||||
get() {
|
get() {
|
||||||
return getAccessibleContext()?.getAccessibleDescription()
|
return getAccessibleContext()?.getAccessibleDescription()
|
||||||
}
|
}
|
||||||
set(value) {
|
set(value) {
|
||||||
getAccessibleContext()?.setAccessibleDescription(value)
|
getAccessibleContext()?.setAccessibleDescription(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var JComponent.preferredWidth: Int
|
||||||
|
get() = getPreferredSize().width()
|
||||||
|
set(value) {
|
||||||
|
setPreferredSize(getPreferredSize().width(value))
|
||||||
|
}
|
||||||
|
var JComponent.preferredHeight: Int
|
||||||
|
get() = getPreferredSize().height()
|
||||||
|
set(value) {
|
||||||
|
setPreferredSize(getPreferredSize().height(value))
|
||||||
|
}
|
||||||
|
|
||||||
|
var Component.minimumWidth: Int
|
||||||
|
get() = getMinimumSize().width()
|
||||||
|
set(value) {
|
||||||
|
setMinimumSize(getMinimumSize().width(value))
|
||||||
|
}
|
||||||
|
var Component.minimumHeight: Int
|
||||||
|
get() = getMinimumSize().height()
|
||||||
|
set(value) {
|
||||||
|
setMinimumSize(getMinimumSize().height(value))
|
||||||
|
}
|
||||||
|
|
||||||
|
var Component.maximumWidth: Int
|
||||||
|
get() = getMaximumSize().width()
|
||||||
|
set(value) {
|
||||||
|
setMaximumSize(getMaximumSize().width(value))
|
||||||
|
}
|
||||||
|
var Component.maximumHeight: Int
|
||||||
|
get() = getMaximumSize().height()
|
||||||
|
set(value) {
|
||||||
|
setMaximumSize(getMaximumSize().height(value))
|
||||||
|
}
|
||||||
|
|
||||||
|
var Component.width: Int
|
||||||
|
get() = getSize().width()
|
||||||
|
set(value) {
|
||||||
|
setSize(getSize().width(value))
|
||||||
|
}
|
||||||
|
var Component.height: Int
|
||||||
|
get() = getSize().height()
|
||||||
|
set(value) {
|
||||||
|
setSize(getSize().height(value))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package kotlin.swing
|
||||||
|
|
||||||
|
import java.awt.Dimension
|
||||||
|
import java.awt.Component
|
||||||
|
import javax.swing.JComponent
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the width of the dimension or zero if its null
|
||||||
|
*/
|
||||||
|
fun Dimension?.width(): Int {
|
||||||
|
return if (this == null) 0 else this.width
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the height of the dimension or zero if its null
|
||||||
|
*/
|
||||||
|
fun Dimension?.height(): Int {
|
||||||
|
return if (this == null) 0 else this.height
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a new dimension with the same height and the given width
|
||||||
|
*/
|
||||||
|
fun Dimension?.width(newValue: Int): Dimension {
|
||||||
|
return Dimension(newValue, height())
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Returns a new dimension with the same width and the given height
|
||||||
|
*/
|
||||||
|
fun Dimension?.height(newValue: Int): Dimension {
|
||||||
|
return Dimension(width(), newValue)
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package kotlin.swing
|
||||||
|
|
||||||
|
import java.awt.GridBagConstraints
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper function to create a [GridBagConstraints]
|
||||||
|
*/
|
||||||
|
fun gridBagContraints(gridx: Int? = null, gridy: Int? = null, fill: Int? = null, anchor: Int? = null,
|
||||||
|
gridwidth: Int? = null, gridheight: Int? = null,
|
||||||
|
weightx: Double? = null, weighty: Double? = null): GridBagConstraints {
|
||||||
|
val answer = GridBagConstraints()
|
||||||
|
if (gridx != null) {
|
||||||
|
answer.gridx = gridx
|
||||||
|
}
|
||||||
|
if (gridy != null) {
|
||||||
|
answer.gridy = gridy
|
||||||
|
}
|
||||||
|
if (fill != null) {
|
||||||
|
answer.fill = fill
|
||||||
|
}
|
||||||
|
if (anchor != null) {
|
||||||
|
answer.anchor = anchor
|
||||||
|
}
|
||||||
|
if (gridwidth != null) {
|
||||||
|
answer.gridwidth = gridwidth
|
||||||
|
}
|
||||||
|
if (gridheight != null) {
|
||||||
|
answer.gridheight = gridheight
|
||||||
|
}
|
||||||
|
if (weightx != null) {
|
||||||
|
answer.weightx = weightx
|
||||||
|
}
|
||||||
|
if (weighty != null) {
|
||||||
|
answer.weighty = weighty
|
||||||
|
}
|
||||||
|
return answer
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user