Skip to content

Commit

Permalink
temp commit
Browse files Browse the repository at this point in the history
  • Loading branch information
galisha committed Mar 15, 2024
1 parent ca4ee64 commit 9bea04c
Show file tree
Hide file tree
Showing 7 changed files with 78 additions and 23 deletions.
14 changes: 12 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
# DJF - Desktop Java Forms

Djf - легковесная master-detail библиотека на базе Java Swing, с заимствованными GUI идеями из FoxBase и Oracle Forms,
опирающаяся на концепции ORM Hibernate и использующая Miglayout (и не только) для компоновки, а также RSyntaxTextArea для подсветки текстовых панелей.
В библиотеке сделана реализация на перемещение курсором между UI элементами без использования мыши (как это было в 90-х на FoxBase :)
Формы, панели, виджеты и бины описываются через XML, количество аттрибутов описания минимизировано.
Форма - это расширение JInternalFrame, и из нее можно вызвать другую форму и т.д.,
причем текущая форма сохраняет свое состояние, а следующая форма визуально полностью перекрывает текущую.
Форма может быть модальной и в этом случае она не сможет вызвать следующую форму.
Форма(ы) масштабируется в соответствие с размером родительского контейнера JFrame.
Кроме того в Djf можно увеличивать размер текста через stepPercent виджет, что позволяет более комфортно работать с формами на малоразмерном дисплее.

Djf is Desktop Java Forms, a compact master-detail UI library like FoxBase, but based on Swing.
Djf uses Hibernate mapping concepts for data, for component layout - Miglayout and RSyntaxTextArea for text panels.

You can see almost all examples of forms definition, data bindings and assistances in [demo application](https://github.com/smart-flex/Djf/releases/download/1.4/djf-demo-1.4-standalone.jar).
After downloading you can run this demo: java -jar djf-demo-1.3-standalone.jar
You can see almost all examples of forms definition, data bindings and assistances in [demo application](https://github.com/smart-flex/Djf/releases/download/1.6/djf-demo-1.6-standalone.jar).
After downloading you can run this demo: java -jar djf-demo-1.6-standalone.jar

![One of the Djf demo form](djf-demo.png)

Expand Down
Binary file modified djf-demo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
width="100:100" />
<combobox bind="carType" fill="ct.carName"
title="${label.demo.gridfields.grid.ct}"
width="120:120"/>
width="80:120"/>

<phone bind="homePhone" title="${demo.gridfields.grid.home_phone}" width="135:135"/>
<text bind="remark" title="${label.demo.gridfields.grid.remark}"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>

<panel>
<layout clazz="java.awt.GridLayout">
<param type="int" value="2" />
<param type="int" value="1" />
<param type="int" value="5" />
<param type="int" value="5" />
<layout clazz="net.miginfocom.swing.MigLayout">
<param type="string" value="insets 5" />
<param type="string" value="[60%, grow, fill] [40%, grow, fill]" />
<param type="string" value="[grow, fill]" />
</layout>

<panel include="ru/smartflex/djf/demo/xml/AccEquipmentGrid.pnl.xml" />
<panel include="ru/smartflex/djf/demo/xml/WorkHistGrid.pnl.xml" />
</panel>
Original file line number Diff line number Diff line change
@@ -1,25 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>

<panel>
<layout clazz="java.awt.GridLayout">
<param type="int" value="1" />
<param type="int" value="2" />
<param type="int" value="5" />
<param type="int" value="5" />
<layout clazz="net.miginfocom.swing.MigLayout">
<param type="string" value="insets 5" />
<param type="string" value="[grow, fill] [pref!]" />
<param type="string" value="[20%, grow, fill] [grow, fill]" />
</layout>

<!-- constraint="cell 0 0 -->
<panel include="ru/smartflex/djf/demo/xml/AccountGrid.pnl.xml" />

<tabpanel>
<panel border="line" constraint="wrap">
<layout clazz="net.miginfocom.swing.MigLayout">
<param type="string" value="" />
<param type="string" value="[pref!]" />
<param type="string" value="[pref!]" />
</layout>
<tabpanel>
<tabs>
<tab title="${demo.gridfields_tab.tab_field}" accessible="${form.itemsAccess}">
<panel include="ru/smartflex/djf/demo/xml/AccountFields.pnl.xml" >
<layout clazz="net.miginfocom.swing.MigLayout">
<param type="string" value="insets 5" />
<param type="string" value="[grow, fill]" />
<param type="string" value="[grow, fill]" />
</layout>
</panel>
</tab>
<tab title="Empty tab">
<panel>
<layout clazz="net.miginfocom.swing.MigLayout">
<param type="string" value="insets 5" />
<param type="string" value="[grow, fill]" />
<param type="string" value="[grow, fill, center]" />
</layout>
<items>
<label text="Just test label" constraint="gap para"/>
</items>
</panel>
</tab>
</tabs>
</tabpanel>
</panel>


<panel include="${form.equipWorkHist}" default="ru/smartflex/djf/demo/xml/AccEquipmentGrid.pnl.xml" constraint="span 2, cell 0 1" />

<!--tabpanel>
<tabs>
<tab title="${demo.gridfields_tab.tab_field}" accessible="${form.itemsAccess}">
<panel include="ru/smartflex/djf/demo/xml/AccountFields.pnl.xml" />
</tab>
<tab title="${demo.gridfields_tab.tab_equip}">
<panel include="${form.equipWorkHist}"
default="ru/smartflex/djf/demo/xml/AccEquipmentGrid.pnl.xml" />
default="ru/smartflex/djf/demo/xml/AccEquipmentGrid.pnl.xml" />
</tab>
</tabs>
</tabpanel>
</tabpanel-->

</panel>
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,28 @@
<panel>
<layout clazz="net.miginfocom.swing.MigLayout">
<param type="string" value="align 0% 50%"/>
<param type="string" value="[pref!][pref]" />
<param type="string" value="[pref!][pref][pref]" />
</layout>
<items>
<label text="Увеличение размера шрифта" tips="Изменения вступят в силу после перезапуска программы" constraint="gap para" />
<stepPercent bind="sp.percent" tips="Font percent value" persist="true" id="idFontPercent" low="0" high="50" delta="10" constraint="gap para, wrap"/>
<stepPercent bind="sp.percent" tips="Font percent value" persist="true" id="idFontPercent" low="0" high="50" delta="10" constraint="gap para"/>
<label text="Stepper for font increasing" constraint="gap para, wrap" />

<label text="Пустой список улиц" tips="Комбобокс без заполненного списка выглядит коряво" constraint="gap para" />
<combobox bind="sp.emptyStreet" fill="ste.streetName" constraint="gap para, wrap"/>
<combobox bind="sp.emptyStreet" fill="ste.streetName" constraint="gap para"/>
<label text="Empty street list" constraint="gap para, wrap"/>

<label text="Поле шириной в 15 символов" constraint="gap para" />
<text bind="sp.text15" cols="15" constraint="gap para, wrap"/>
<text bind="sp.text15" cols="15" constraint="gap para"/>
<label text="Field with 15 symbols" constraint="gap para, wrap"/>

<label text="Пустой список улиц в 15 символов" tips="Пустой список улиц шириной в 15 символов" constraint="gap para" />
<combobox bind="sp.emptyStreet15" fill="ste.streetName" cols="15" constraint="gap para, wrap"/>
<combobox bind="sp.emptyStreet15" fill="ste.streetName" cols="15" constraint="gap para"/>
<label text="Empty street list with 15 symbols" constraint="gap para, wrap"/>

<label text="Cписок улиц" tips="Заполненный список улиц шириной в 15 символов" constraint="gap para" />
<combobox bind="sp.street" fill="st.streetName" cols="15" constraint="gap para, wrap"/>
<combobox bind="sp.street" fill="st.streetName" cols="15" constraint="gap para"/>
<label text="Filled street list with 15 symbols" constraint="gap para, wrap"/>
</items>
</panel>
<models>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
width="50" noResize="yes"/>
<date bind="dateWork" title="${label.demo.gridfields_tab.gridwh.date}"
width="100:100" />
<text bind="remark" title="${label.demo.gridfields_tab.gridwh.remark}" width="200:1200"/>
<text bind="remark" title="${label.demo.gridfields_tab.gridwh.remark}" width="70:1200"/>
</cols>
</grid>
</items>
Expand Down

0 comments on commit 9bea04c

Please sign in to comment.