view src/luan/modules/swing/Swing.luan @ 1996:d5c21ca9703e default tip

move threads to admin
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 04 Jul 2025 11:39:41 -0600
parents a8bab2b60b67
children
line wrap: on
line source

local Luan = require "luan:Luan.luan"
local error = Luan.error
local ipairs = Luan.ipairs or error()
require("luan:swing/Swing_runner.luan").check()
require "java"
local URI = require "java:java.net.URI"
local Insets = require "java:java.awt.Insets"
local Desktop = require "java:java.awt.Desktop"
local UIManager = require "java:javax.swing.UIManager"
local SwingConstants = require "java:javax.swing.SwingConstants"
local Logging = require "luan:logging/Logging.luan"
local logger = Logging.logger "swing/Swing"


local Swing = {}


function Swing.get_installed_look_and_feels()
	local list = {}
	for _, info in ipairs{UIManager.getInstalledLookAndFeels()} do
		list[#list+1] = info.getClassName()
	end
	return list
end

function Swing.get_look_and_feel()
	return UIManager.getLookAndFeel().getClass().getName()
end

Swing.ui_manager_put = UIManager.put
Swing.set_look_and_feel = UIManager.setLookAndFeel

Swing.new_insets = Insets.new  -- top, left, bottom, right
Swing.no_insets = Insets.new(0,0,0,0)

local desktop = Desktop.getDesktop()

function Swing.browse(url)
	desktop.browse( URI.new(url) )
end

Swing.alignments = {
	left = SwingConstants.LEFT
	center = SwingConstants.CENTER
	right = SwingConstants.RIGHT
}

return Swing