Тэкст з інтэрфейсу карыстальніка для Java AWT

Original: http://www.bmsi.com/tuipeer/


Апошняе змяненне 1 сакавіку 2015
Copyright (C) 2000,2002 Сцюарт Д. Gathman
Дазваляецца капіяваць, распаўсюджваць і / альбо зьмену гэтага дакумэнту згодна умоваў GNU Free Documentation License, вэрсіі 1.3 або любой больш позняй версіі, апублікаванай Фундацыяй вольнага праграмнага забеспячэння, без нязьменных разьдзелаў, бяз тэксты асабовых вокладак, і апошняй вокладцы. Копія ліцэнзіі ўключаная ў сэкцыю з назвай “GNU Free Documentation License”.
GNU Free Documentation License для гэтай дакументацыі

Што ён робіць?
Як гэта працуе?
Спампаваць – апошні рэліз 1.1.2
Можа GUI код, выкананы з нязменным TUIAWT?
Якая версія JDK зусім TUI АВТ працаваць?
Ці працуе TUIAWT з Свінг?
Якія Windoze Іды справіцца java.awt.LayoutManager?
99% Java-падыход

Што ён робіць?
JDK 1.0 і 1.1 дазваляюць забяспечыць падключаную Знешні выгляд і шляхам рэалізацыі інтэрфейсаў у java.awt.peer. Пакет і tuipeer праграма TUIAWT Java забяспечваюць TUI (Text User Interface) выглядаць і адчуваць сябе. Акрамя таго, ён падтрымлівае некалькі асобнікаў java.awt.Toolkit, перадумовы для шматкарыстальніцкай віртуальнай машыны Java ст.

Вынікам з’яўляецца тое, што той жа самы код прыкладання байт можа мець графічны інтэрфейс або інтэрфейс тэлефоннага інтэрфейсу ў залежнасці ад выкарыстоўванага асобніка Інструментар.

Здымак экрана Teikade ў рэжыме TUI.
Здымак экрана Teikade ў графічным рэжыме.

Як гэта працуе?
TUIAWT працуе, пасылаючы каманды аднагодкаў да выдаленага праграмы аднагодкаў і атрымання падзеі карыстацкага інтэрфейсу з праграмы аддаленага аднагодкаў. Сувязь з выдаленай праграмы аднагодкаў адбываецца праз злучэнне сокета. Праграма выдаленай аднагодкаў можа таксама рэалізаваць GUI знешні выгляд, і на самай справе можа быць напісана ў Java. Хоць гэта ўяўляецца залішнім, перавагі, па меншай меры ў два разы:

  •     Бяспека падвышаецца за кошт ізаляцыі ад (магчыма, ненадзейных) кліента.
  •     Гэта дазваляе некалькі асобнікаў інструментара для шматкарыстальніцкай віртуальнай машыны Java на сэрвэры – без неабходнасці перапісваць AWT.


IBM рэалізаваны гэтую канцэпцыю і зрабіў яго даступным у іх AlphaWorks сайт як “Remote AWT для Java”.


Схема TUI Авт была апісана ў артыкуле для Sep97 Доктар Dobbs Journal.

Можа GUI код, выкананы з нязменным TUIAWT?
Код графічны інтэрфейс, які выкарыстоўвае LayoutManager правільна і не рабіць агульныя графікі на палатне і кампаненты панэлі будзе працаваць нармальна.

  • Здымак экрана TextEdit.java ў рэжыме TUI. Я змяніў TextEdit.java каб прыбралі апаратна памер малюнка для ўпрыгожвання. Крыніца
  • Здымак экрана Teikade ў рэжыме TUI. Ніякія мадыфікацыі не былi неабходныя, каб зрабіць Teikade працаваць у рэжыме TUI! Звярніце ўвагу, што простыя прастакутныя графікі, якія выкарыстоўваюцца ў маніторы памяці Teikade зразумелыя ў TUI рэжыме. Зацяненне 3D, аднак, мае эфект пры спробе ачысціць частка графіка.
  • Здымак экрана Teikade ў графічным рэжыме. Галоўная старонка Teikade

Якая версія JDK зусім TUI АВТ працаваць?
Версія tuipeer не падтрымлівае Java 2. Ён быў пратэставаны з JDK1.1.6 і JDK1.1.8. Java 2 перапынкі java.awt.Toolkit опрыскивая правадных спасылкі на sun.awt.SunToolkit па кодзе AWT. Там няма дакументальных спосаб забяспечыць альтэрнатыўную рэалізацыю AWT ў Java 2, не перапісваючы ўвесь набор пакетаў. Можна было б, каб перапраектоўваць і пашырыць sun.awt.SunToolkit – і, магчыма, я зраблю так, пасля падачы справаздачы пра памылку.

У той жа час, Роб Питман напісаў частковае крыніца, сумяшчальны рэалізацыю AWT і Swing, якія могуць быць карысныя. Хаця вы не можаце выкарыстоўваць тыя ж двайковыя файлы класа як для GUI і TUI, гэта дазволіць вам перасабраць прыкладання для TUI шляхам змены ” java.awt да “charva.awt ‘і’ javax.swing ‘на’ ‘charva.swing у вашых аператараў імпарту і перакампіляванні.

Ці працуе TUIAWT з Свінг?
Канцэпцыя TUI можа працаваць пад арэлі толькі з дапамогай TUI L & F для Swing. Нават тады, арэлі прыкладання, як правіла, значна больш залежыць ад рэальных графікі, так што гэта, здаецца, менш, чым карысным.

Якія Windoze Іды справіцца java.awt.LayoutManager?
Папулярныя Windoze Іды, такія як замяняюць і Visual Cafe працы з абсалютнымі каардынатамі пікселя. Там няма падтрымкі карыстацкіх LayoutManager і нават стандартныя LayoutManagers не працуюць належным чынам у рэжыме канструктара. Выкарыстанне абсалютных каардынат выклікае праблемы пры змене графічнага інтэрфейсу, а таксама з TUIAWT. Я паспрабаваў замяняюць 1.0 і VC2.0. Абодва гэтыя прадукты маюць іншыя дробныя рысы, але ўласна падтрымка LayoutManager не з’яўляецца адным з іх. Мне сказалі, што JBuilder і Visual Age правільна працаваць з LayoutManager, але гэтыя прадукты патрабуюць 64M або больш аператыўнай памяці і P200, які я не маю, так што я не спрабаваў іх.

Абнаўленне: Цяпер, у мяне ёсць P200 з 64M АЗП, JBuilder і Visual Age зараз патрабуюць, па меншай меры 128M RAM і 400 Мгц. Ня старыя версіі больш не даступныя. Аналагічныя заўвагі ставяцца да Forte для Java ад Sun.

Як паспрабаваць TUIAWT?
Глядзіце старонку загрузкі.

99% Java-падыход
Іншы спосаб здымаць шкуру з кошкі TUIAWT з’яўляецца распрацоўка Чысты Java праклёны з дапамогай JavaComm або Разеткі і адмовіцца ад працэсу C ++. Калі хто пачынае такі праект, дайце мне ведаць, – таму што я пачаў на 99% рэалізацыі Java TUIAWT, які выкарыстоўвае базу дадзеных TERMINFO. Версія прататып можна знайсці на старонцы загрузкі.

Рэалізавана гэта пазнака, кнопка, акно, рама. MenuComponents, Палатно, панэль і дыялог знаходзяцца ў наступным абнаўленні. Звярніце ўвагу, што тэрмінальны вывад неоптимизированная. Схема stdscr / curscr будуць судзіць. Мэта праекта, каб захаваць загрузку працэсара разумна, нават з перакладчыкам.

У той час як ёсць шэраг пераваг ў асобным працэсе – Я быў бы рады, каб адмовіцца іх пазбавіцца ад партавання кашмар. (Праблемы Партаванне выкліканыя выкарыстаннем ўзроўню TERMINFO праклёнаў – гл партавання нататкі, і адсутнасцю стандартнай бібліятэкі C ++ ў той час.) Акрамя таго, асобны працэс заўсёды можа быць JVM!

Калі ласка, пішыце прапановы для прыкмет, памылак у [email protected]

Comments are closed.