Mercurial Hosting > luan
diff src/luan/modules/swing/Text_area.luan @ 1862:d59d4ef5ca46
swing work
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 30 Mar 2025 13:17:27 -0600 |
parents | 915cb538e2a3 |
children | 928e73bfe7ea |
line wrap: on
line diff
--- a/src/luan/modules/swing/Text_area.luan Tue Mar 25 09:26:16 2025 -0600 +++ b/src/luan/modules/swing/Text_area.luan Sun Mar 30 13:17:27 2025 -0600 @@ -2,7 +2,8 @@ local error = Luan.error local set_metatable = Luan.set_metatable or error() local type = Luan.type or error() -local Font = require "luan:swing/Font.luan" +local get_font = require("luan:swing/Font.luan").get or error() +local new_component = require("luan:swing/Component.luan").new or error() require "java" local JTextArea = require "java:javax.swing.JTextArea" @@ -21,6 +22,15 @@ if key == "tab_size" then return text_area.java.getTabSize() end + if key == "rows" then + return text_area.java.getRows() + end + if key == "columns" then + return text_area.java.getColumns() + end + if key == "line_count" then + return text_area.java.getLineCount() + end error("'"..key.."' not defined") end @@ -37,19 +47,26 @@ text_area.java.setTabSize(value) return end - if key == "font" then - if type(value) == "table" then - value = Font.get(value) - end - text_area.java.setFont(value) + if key == "rows" then + text_area.java.setRows(value) + return + end + if key == "columns" then + text_area.java.setColumns(value) return end error("'"..key.."' not defined") end -function Text_area.new(rows,columns) - local jtext_area = JTextArea.new(rows,columns) - local text_area = { java = jtext_area } +function Text_area.new() + local jtext_area = JTextArea.new() + local text_area = new_component(jtext_area) + function text_area.set_font(font) + if type(font) == "table" then + font = get_font(font) + end + jtext_area.setFont(font) + end set_metatable(text_area,mt) return text_area end