Mercurial Hosting > luan
view src/luan/modules/swing/Swing.luan @ 1917:f5f4c79d375f
1 process
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Fri, 18 Apr 2025 19:17:23 -0600 |
| parents | 15dda75a887f |
| children | e2d69cfe1b3c |
line wrap: on
line source
local Luan = require "luan:Luan.luan" local error = Luan.error local ipairs = Luan.ipairs or error() require "java" local System = require "java:java.lang.System" local URI = require "java:java.net.URI" local Insets = require "java:java.awt.Insets" local Desktop = require "java:java.awt.Desktop" local Window = require "java:java.awt.Window" local UIManager = require "java:javax.swing.UIManager" local FlatLightLaf = require "java:com.formdev.flatlaf.FlatLightLaf" local SwingLuan = require "java:luan.modules.swing.SwingLuan" local Logging = require "luan:logging/Logging.luan" local logger = Logging.logger "swing/Swing" local Swing = {} System.setProperty("apple.laf.useScreenMenuBar", "true") UIManager.setLookAndFeel(FlatLightLaf.new()) 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.run = SwingLuan.run Swing.run_later = SwingLuan.runLater 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.home_dir = System.getProperty("user.home") function Swing.to_front() local windows = {Window.getOwnerlessWindows()} for _, window in ipairs(windows) do window.toFront() end end return Swing
