ZDE - JJ

Transkript

ZDE - JJ
Technická dokumentace
Obsah
1.Přehled..............................................................................................................................................2
1.1.O programu...............................................................................................................................2
1.2.Požadavky.................................................................................................................................2
1.3.Digitální podpis.........................................................................................................................2
1.4.Balíčky (Packages)...................................................................................................................2
2.Balíček Math....................................................................................................................................3
2.1.Třída Learning..........................................................................................................................3
3.BalíčekMatrixLibrary.......................................................................................................................5
3.1.Přehled......................................................................................................................................5
3.2.EnterMatrix...............................................................................................................................5
3.3.Library......................................................................................................................................5
3.4.MultiLineToolTip.....................................................................................................................6
4.Balíček Tutorials...............................................................................................................................7
4.1.Přehled......................................................................................................................................7
4.2.Třída Tutorial a poděděné třídy................................................................................................7
1. Přehled
1.1. O programu
Výukový program pro počítání s maticemi a vizualizaci základních úprav.
1.2. Požadavky
Ke spuštění appletu je potřeba prohlížeč podporující Java applety a nainstalované prostředí
Java Runtime Enviroment 5.0 a vyšší (ke stažení : http://java.sun.com/j2se/1.5.0/download.jsp ).
1.3. Digitální podpis
Program obsahuje možnost uložení paměti na lokální disk. Ale applety mohou zapisovat na
lokální disk jen pokud jsou digitálně podepsány a uživatel je povolí. Program je možné podepsat
pomocí programu jarsigner, který je standartně dodáván s vývojovým prostředím java. Digitální klíč
je také možné vytvořit pomocí nástroji dodávanými s JDK. (ve složce bin)
Klíč se vytváří pomocí příkazu keytool.
keytool -genkey -keyalg rsa -alias yourkey
Pak je potřeba klíč exportovat do souboru
keytool -export -alias yourkey -file yourcert.crt
A nakonec podepsat soubor s appletem
jarsigner "matrix.jar" yourkey
1.4. Vložení na stránku
Applet se na stránku vkládá pomocí html značek <applet></applet>. Atribut archive se
nastaví cesta k appletu.
<applet code="Math\LA.class" archive="./dist/matrix.jar"
width="600" height="800"></applet>
1.5. Balíčky (Packages)
•
•
•
•
Math
MatrixLibrary
Tutorials
Texts
-
Spustitelný applet
Hlavní knihovny pro program
Balíček s krokováním
Balíček se texty
2. Balíček Math
2.1. Třída Learning
Třída obsahující spustitelný applet a starající se o celkový běh programu. Obsahuje většinu
ovládacích prvků.
Interface
Popis
private boolean loaded
Informace zda už proběhl init
private EnterMatrix zadani
Objekt pro správu zadávání matice
private char LastOperation
Poslední operace
private MatrixCalculator Kalkulacka Kalkulačka
private Ciselnik cis
private JRadioButton rbCast[]
Číselník a přepínače částí u
klalkulačky
private Ciselnik cisVolne
private JRadioButton rbCastVolne[]
Číselník a přepínače části u
volných úprav
private final int RBUTS
Počet radio buttonu
private int mode
Jaká část se má pustit po startu
programu
private Memory mem
Objekt pro správu paměti
private Tutorial Postup
Objekt pro správu krokování
private Tutorial Volne
Objekt pro správu volných úprav
private java.util.Timer casovac
Časovač pro automatické krokování
private boolean timer
Je časovač zapnutý?
private void CreateCiselnikVolne()
Vytvoří číselník a jeho části
private void CreateCustomGUI()
Vytvoří dynamické části appletu
private double getZero()
Vrátí aktuálně zadanou nulu
public void init()
Inicializační funkce
private void initComponents()
Vytvoření statických komponent
private void StopTimer(ActionEvent
evt)
Zastaví automatické krokování
private void StartTimer(ActionEvent Spustí automatické krokování
evt)
private void cmbZeroActionPerformed Změna v nastavení tělesa
private void
jComboBox3ActionPerformed
private void chkEActionPerformed
private void
cmbZaklad3ActionPerformed
private void
cmbTeleso3ActionPerformed
private void
jTabbedPane1StateChanged
Obsluha události vyvolané přepnutím
kalkulačka/krokování/úpravy
private void ClearLine(ActionEvent
evt)
Smazání řádky
Interface
private void NextItem(ActionEvent
evt)
Popis
Další prvek na řádce
private void
Stisknutí tlačítka pro provedení
btnOperationUnaryAction(ActionEvent unární operace
evt)
private void UnaryAction(char c)
Provedení unární operace
private void
Stisknutí tlačítka binární operace
btnOperationAction(ActionEvent evt)
private void LastAction()
Provede poslední binární akci
private void formKeyTyped(KeyEvent
evt)
Zpracování stisklé klávesy
private void ClearAll(ActionEvent
evt)
Stisknutí tlačítka AC
private void
Stisknutí tlačítka pro další řádek
btnNextLineActionPerformed(ActionEv
ent evt)
private void
btnStepActionPerformed(ActionEvent
evt)
Stisknutí tlačítka krok
private void
cmbTutActionPerformed(ActionEvent
evt)
Událost vyvolaná výběrem krokování
private void
Reset krokování
btnResetActionPerformed(ActionEvent
evt)
private void
Změna velikosti okna s krokováním
jPanel8ComponentResized(ComponentEv
ent evt)
private void
btnLoadActionPerformed(ActionEvent
evt)
Načtení paměti ze souboru
private void
btnSaveActionPerformed(ActionEvent
evt)
Uložení paměti do souboru
3. BalíčekMatrixLibrary
3.1. Přehled
Třída
Popis
EnterMatrix
Třída pro vkládání matice
Matrix
Třída matice
MatrixCalculator
Pomocná třída pro práci s maticí
Memory
Třída pro práci s pamětí
MultilineToolTip
MultilineToolTipUI
Třída pro vypisování víceřádkové
nápovědy
3.2. EnterMatrix
Interface
Popis
public void SetType(int t, int r)
Nastavení typu zadávané matice
public EnterMatrix(int t, int r, double c)
Konstruktor s nastavením typu a
nuly
public void SetCiselnik(Ciselnik c)
Nastavení číselníku
public JLabel GetLabel()
Vrátí aktivní label
public Matrix GetMatrix()
Vrátí současnou matici
public void SetMatrix(Matrix in, int cif, boolean Vloží matici
e)
private void InsertLabel()
Vloží nový label
private void InsertPanel()
Vloží nový řádek
public boolean AddLabel()
Vloží nový label, starý upraví
public void ClearLine()
Smaže vybraný řádek zadávané
matice
public void Clear()
SmažeCelou zadávanou matici
public boolean AddPanel()
Přidá nový řádek
private String getNumCis()
Vrátí číslo uložené v číselníku
public void SetDisplay(int pres, boolean e)
Nastaví přesnost a zobrazování e
public void mouseClicked(MouseEvent e)
Obsluha myši
3.3. Library
Interface
public static String toRome(int a)
Popis
Převede číslo na textovou
reprezentaci římskýcmi číslicemi
3.4. Library
Interface
Popis
private Matrix[] Vstupy
Pole uložených matic
public Matrix Vysledek
Poslední uložený výsledek
private EnterMatrix Vystup
Odkud/kam jsou matice zadávány v
modu kalkulačky
private Tutorial VystupT
Odkud/kam jsou matice zadávány v
modu Krokování a Volné úpravy
public final static int Items
Počet ukládaných položek
int C
Počet zobrazovaných cifer
boolean E
Zobrazování exponentu
int state
=0 Vstup/výstup kalkulačka
=1Vstup/výstup Krokování/Volné
úpravy
private
private
private
private
private
private
Prvky interface
JTextArea txtNahled[]
JButton btnSaveTo[]
JButton btnLoadFrom[]
JLabel lblType[]
JPanel pnlMem[]
JPanel MasterPanel
public Memory(EnterMatrix v, JPanel Konstruktor se zadaným I/O a cílem
m)
kde se má zobrazovat
public void setMem(int Cifry,
boolean e)
Nastavení počtu cifer a zobrazování
e
public Matrix GetMem(int i)
Vrátí matici na indexu i
public void SetMem(Matrix m,int i)
Nastaví matici m na index i
private void ShowMatrix(int index)
Zobrazí matici
public int GetState()
Vrátí aktuální stav
public void SetState(int s)
Nastavení aktuálního stavu
public void SetState(int s,
Tutorials.Tutorial t)
Nastavení aktuálního stavu a
nastavení objektu krokování/volných
úprav
public void
actionPerformed(ActionEvent e)
Stisknutí tlačítka Uložit/Načíst
3.5. MultiLineToolTip
Interface
Popis
public void paint(Graphics g,
JComponent c)
Úprava vykreslovací metody
public Dimension
getPreferredSize(JComponent c)
Úprava metody pro spočítání
velikosti nápovědy
4. Balíček Tutorials
4.1. Přehled
Balíček Tutorials obsahuje třídy krokování a volných úprav. Základem je třída Tutorial, od které
jsou všechny ostatní třídy poděděny.
Třída
Popis
Tutorial
Základní abstraktní třída
Cramer
Třída pro krokování postupu
spočítání cramerova pravidla.
Determinant
Třída pro krokování postupu
spočítání determinantu pomocí
Gaussovy eliminační metody
Determinant2
Třída pro krokování postupu
spočítání determinantu z
definice
GaussJordan
Třída pro krokování postupu
spočítání Gauss-Jordanovy
eliminační metody
Inverze
Třída pro krokování postupu
spočítání inverzní matice
Inverze2
Třída pro krokování postupu
spočítání inverzní matice pomocí
adjungované matice
Soucin
Třída pro krokování postupu
spočítání součinu dvou matic
Volne
Třída pro volné úpravy
4.2. Třída Tutorial a poděděné třídy
Interface
Popis
public boolean Step()
Provedení jednoho kroku
public void ShowMatrix()
Vykreslení současného postupu na
formulář
public Matrix getMatrix()
Vrátí současnou matici
public void SetMatrix(Matrix m)
Vloží matici
public void SetPresnost(int Nova, boolean e,
double z)
Nastavení počtu cifer,
exponenciely a nuly
private int Presnost
Nastavení počtu cifer
private boolean Exp
Nastavení zobrazování
exponenciely
private double Zero
Nastavení nuly
5. Balíček Texts
5.1. třída textMatrix
Ve třídě jsou uloženy textové konstanty, které applet používá.

Podobné dokumenty

Materiály pro senzory

Materiály pro senzory Adheziva, taviva (alkalické živce) – keramické a tlustovrstvé senzory 5. Selektivní membrány

Více

Sborník příspěvků

Sborník příspěvků jazyků a vývojových prostředí. Tento rychlý vývoj nám na jedné straně poskytuje stále lepší prostředky, na druhé straně ale představuje závažný problém, pokud se zabýváme otázkami jako je uchování ...

Více

ZDE - Martin Poustka M-Pos

ZDE - Martin Poustka M-Pos 1. K navrácení do původního stavu stiskněte tlačítko EXIT, nebo tlačítko zařízení (např. TV, VCR...) 2. Tlačítka , , , , OK, EXIT jsou v programovacím módu určena pouze pro programování ovladače, n...

Více

Clearaudio

Clearaudio Radiální ramínko s kevralovým ramenem, unikátní bezkontaktní magnetické uložení - minimalizace kontaktních ploch - nulový přenos vibrací, sofistikované nastavení vyvážení, 1m kabel Sixtream s Cinch

Více

Java FAQ velmi rozsáhlý soubor otázek a odpovědí

Java FAQ velmi rozsáhlý soubor otázek a odpovědí G#544 Co znamená java.awt.geom.Point2D.Double ? Jaké má přednosti ? Vnořená třída Double je statický člen ve třídě java.awt.geom.Point2D Vysokou přesnost pro výpočetní geometrii. G#548 K čemu slouž...

Více

10. Přílohy

10. Přílohy public static void main (String args[]) která se spustí a které se předají případné parametry z příkazové řádky. V druhé variantě se spouští aplikace uložená v archivu jar – podrobněji je to popsán...

Více

Google Gmail automatizace, vyčarujte z e

Google Gmail automatizace, vyčarujte z e Automatizace číslo 1, automat vytváří úkoly za vás Ukázka části kódu: // nezbytná příprava, parametry var sendtoagenda = 'e-mailová adresa projektu v Todoist'; //projekt může mít e-mailovou schránk...

Více

vysoke´ucˇenítechnicke´v brneˇ

vysoke´ucˇenítechnicke´v brneˇ Také proto je Phongovo lokální osvětlení implementováno v drtivé většině grafického hardwaru a stalo se jistým standardem pro osvětlení v reálném čase [2].

Více