view src/luan/modules/swing/Text_field.luan @ 1944:bb12d502b72e default tip

minor
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 20 May 2025 11:18:26 -0600
parents d5776185f9d7
children
line wrap: on
line source

local Luan = require "luan:Luan.luan"
local error = Luan.error
local set_metatable = Luan.set_metatable or error()
local Utils = require "luan:swing/Utils.luan"
local remove = Utils.remove or error()
local check_empty = Utils.check_empty or error()
local Text_component = require("luan:swing/Text_component.luan")
local super_construct = Text_component.construct or error()
local super_mt = Text_component.mt or error()
require "java"
local TextFieldLuan = require "java:luan.modules.swing.TextFieldLuan"
local SwingLuan = require "java:luan.modules.swing.SwingLuan"
local newActionListener = SwingLuan.newActionListener
local Logging = require "luan:logging/Logging.luan"
local logger = Logging.logger "swing/Text_field"


local Text_field = {}

function Text_field.new(props)
	local jtext_field = TextFieldLuan.new()
	local text_field = { java = jtext_field }
	super_construct(text_field,props)
	local columns = remove(props,"columns")
	if columns~=nil then jtext_field.setColumns(columns) end
	local action = remove(props,"action")
	if action~=nil then jtext_field.setActionCommand(action) end
	local action_listener = remove(props,"action_listener")
	if action_listener~=nil then jtext_field.addActionListener(newActionListener(action_listener)) end
	local whitespace_visible = remove(props,"whitespace_visible")
	if whitespace_visible~=nil then jtext_field.setWhitespaceVisible(whitespace_visible) end
	check_empty(props)
	set_metatable(text_field,super_mt)
	return text_field
end

return Text_field