view src/luan/modules/swing/Text_field.luan @ 1895:091b503f511c

swing
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 13 Apr 2025 16:50:41 -0600
parents 3990486911d9
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 delete = Utils.delete 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 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 = delete(props,"columns")
	if columns~=nil then jtext_field.setColumns(columns) end
	local action = delete(props,"action")
	if action~=nil then jtext_field.setActionCommand(action) end
	local action_listener = delete(props,"action_listener")
	if action_listener~=nil then jtext_field.addActionListener(newActionListener(action_listener)) end
	local show_whitespace = delete(props,"show_whitespace")
	if show_whitespace~=nil then jtext_field.showWhitespace(show_whitespace) end
	check_empty(props)
	set_metatable(text_field,super_mt)
	return text_field
end

return Text_field