view src/luan/modules/swing/Menu.luan @ 1863:928e73bfe7ea

swing work
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 31 Mar 2025 13:46:47 -0600
parents d59d4ef5ca46
children 8b3b0ada9420
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 make_metatable = Utils.make_metatable or error()
local Abstract_button = require "luan:swing/Abstract_button.luan"
require "java"
local JMenu = require "java:javax.swing.JMenu"


local Menu = {}

Menu.__index = Abstract_button.__index or error()
Menu.__new_index = Abstract_button.__new_index or error()
local mt = make_metatable(Menu)

function Menu.new()
	local jmenu = JMenu.new()
	local menu = { java = jmenu }
	function menu.add(menu_item)
		jmenu.add(menu_item.java)
	end
	set_metatable(menu,mt)
	return menu
end

return Menu