MSPEL Föreläsning 2 Text, teckensnitt och grafiska komponenter

Slides:



Advertisements
Liknande presentationer
Händelsehantering i grafiska gränssnitt byggda med Tkinter
Advertisements

En Dag i Ramadan Ramadan
Typografi Krav eller hjälp?.
Här ser ni några sidor som hjälper er att lösa uppgifterna:
1 2I1049 Föreläsning 8 KTH-MI Peter Mozelius Grafiska gränssnitt, Java interface och händelsehantering.
Repetition av språket Java
II130V Konstruktion av webbsidor Välkommen till föreläsning 3 September 2007.
1 MSPEL Föreläsning 1 DSV Peter Mozelius XML, XHTML, CSS och Java applets.
MS Excel 2010 – Dag 2 Mahmud Al Hakim
Om text, bild, ljud och video
1 Medarbetarenkät 2011 • 573 svar. 2 Kön 3 Jag är knuten till en klass, undervisningsgrupp eller barngrupp.
Objektorienterad utveckling
Klassarv och inkapsling
V E R S I O N N R 1. 2 T A V E L I D É E R I M I L J Ö.
Eddie Arnold - Make The World Go Away Images colorées de par le monde Déroulement automatique ou manuel à votre choix 1 för dig.
Objektorienterad utveckling Lektion 2 Objekt, överlagring, överskuggning, klasshierarkier och dynamisk bindning KTH Peter Mozelius.
Metoder i java Det finns två typer av metoder i java
Övning5 Så här ska man tänka när man löser uppgift 1 på tentan lite grafik, så här söker man genom en lista så här läser man från en fil i java lösa uppgift.
Swing Grafik delen i Java kallas för Swing. Swing är stort; ca 800 klasser i 16 paket. Swing är en utveckling av AWT (Abstarct Window Toolkit). AWT var.
Att programmera i språket Java
1 ITK:P1 Föreläsning 4 Grafiska gränssnitt och händelsehantering DSV Peter Mozelius.
Webbteknik lektion 2 Det handlar om stilmallar Per K, 2012.
Föreläsning 8 Appletprogram/fristående grafiska program Rita linjer, rektanglar mm Skriva text Byta färg Appletprogram html.
1 ITK:P1 Föreläsning 6 Layoutmodeller i Java DSV Marie Olsson.
1 Medarbetarenkät svar. 2 Kön 3 Jag är knuten till en klass, undervisningsgrupp eller barngrupp.
1 Föreläsning 8 Grafik AWT. 2 Grafik Frame använder man för att skapa ett fönster Button använder man om man vill ha en knapp att trycka på Canvas är.
V E R S I O N N R 2. 0 T A V E L I D É E R I M I L J Ö.
Bastugatan 2. Box S Stockholm. Blad 1 Läsarundersökning Maskinentreprenören 2007.
1 ITK:P1 Föreläsning 7 Algoritmer och datastrukturer DSV Marie Olsson.
Föreläsning 15 (16) Introduktion till Swing. Historik (java.awt) JDK 1.0 – AWT (Abstract Window Toolkit) Paket för gränssnittsprogrammering Har en del.
TÄNK PÅ ETT HELTAL MELLAN 1-50
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Kouzlo starých časů… Letadla Pár foteček pro vzpomínku na dávné doby, tak hezké snění… M.K. 1 I Norrköping får man inte.
Best pictures on the internet 2007 Awards 1http:// Är vänsteralliansen trovärdig i Norrköping.
1 ITK:P2 F2 Stilsättning av XHTML DSV Peter Mozelius.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
ITK:P1 Lektion 4 Att implementera en spelidé i Java DSV Peter Mozelius.
1 MSPEL Lektion 2 DSV Peter Mozelius Spel i Java applets.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
Best pictures on the internet 2007 Awards 1http:// (s), (v), och (mp) i Norrköping, gillar inte att vi använder grundlagarna.
2 Agenda 1. Börja arbeta med Excel Hantera arbetsböcker 3. Formler 4. Formatera 5. Diagram 6. Skriva ut 7. Referenser mellan kalkylblad 8. Arbeta.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 ITK:P1 Föreläsning 8 Multimedia för spelkonstruktion DSV Peter Mozelius.
Medieteknik Del1 Färger, teckensnitt och bildformat
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Föreläsning 9 Gränssnitt. Super Super kan användas till anrop av en omdefinierad metod Super kan användas till anrop av konstruktorer i superklassen Super.
Här är ditt liv, Bertil! 15/
Sidnummer Kataloger och sökverktyg hur kan vi använda DDK?
1 ITK:P2 F6 Sortering av generiska containerklasser DSV Peter Mozelius.
1. Ett problem/uppgift.
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
0. Kod, Klassdiagram och Sekvensdiagram import java.awt.event.*; import javax.swing.*; import java.awt.*; public class TwoThreads implements ActionListener.
1 Objektorienterad programmering i Java Föreläsning 5 Kort om Java-Applets.
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
Föreläsning 9 Arv kap 8.1 Interface kap 9.2 Grafiska användargränssnitt (GUI) kap 10.
2I1073 Lektion 1 KTH-MI Peter Mozelius XHTML, stilmallar och Javascript.
När infaller Julafton och hur ofta?
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
OOP&M - teori1 OOP del III–vecka 15 Mer NetBeans MouseEvent Graphics Threads TIJ Chapter 14 Menus sid Drawing File Dialogs
OOP&M - teori1 OOP del III– Föreläsning vecka 9 GUI Containers och LayoutManagers (Inner classes)
OOP&M - teori1 OOP&M del III– Föreläsning 3 vecka 6 Kontrollkomponenter (Components) Som Applets.
OOP&M - teori1 OOP&M del III– Föreläsning 23 vecka 15 Graphics Graphics2D Menyer JMF.
OOP&M - teori1 OOP del III– Vecka 10 Händelser Kontrollkomponenter (Components) Featuring: Applets.
DA7351 Programmering 1 Skapa och placera en komponent i en container Layoutmanagers Applet Händelser och lyssnare Föreläsning 15.
GRAFISK FORM Ann Lundqvist Typografi. GRAFISK FORM Ann Lundqvist Typografi – Läran om bokstavsformerna och dess användning Teckensnitt – typsnitt - font.
Typografi.
Typografi.
Föreläsning 13: Swing (GUI), händelser, timer
Presentationens avskrift:

MSPEL Föreläsning 2 Text, teckensnitt och grafiska komponenter DSV Peter Mozelius

Teckensnitt VERSALER fick sin utformning på 100-talet i Rom CAPITALIS MONUMENTALIS Stora bokstäver på monument gemener uppstod på 700-talet Den karolingiska minuskeln Små bokstäver från Karl den stores tid

Teckensnitt 1400-tal En revolutionerande uppfinning på 1440-talet: Gutenberg och blytypen Utvecklad ur den karolingiska minuskeln, utrymmessnål Kantig med dålig läsbarhet

Antikva Teckensnitt 1400-tal Det mesta av den brödtext vi läser på papper är satt med antikva (serifer) Har sina rötter i Italien där stilen i olika handskrivna böcker anpassades av de första boktryckarna som kom ner från Tyskland på 1460-talet Conrad Sweynheym, Arnold Pannartz Böcker från antiken - antikva

Teckensnitt 1400-tal Aldus Manutius: boktryckare/förläggare Nyskapare, kursiv (italics) och kapitäler Gav ut aldiner, dåtida pocketböcker Italien - Renässansen Renässansantikva eller Diagonalantikva Bembo efter författaren Pietro Bembo Stämpelskäraren Griffo

15- och 1600-tal Detta är en Garamond! 1600-tal Jean Jannon Europas vetenskapliga centrum flyttar norrut Paris - René Descartes Galileis konflikt med kyrkan 1500-tal Claude Garamond Frilansande stämpelskärare Urtyp för moderna antikvor Detta är en Garamond! 1600-tal Jean Jannon

Teckensnitt 1700-tal Vi flyttar oss vidare mot nordost och till England, via Holland där de första engelska boktryckarna köpte sina blytyper William Caslon (1692 – 1760) ”When in doubt, set it in Caslon.” John Baskerville (1706 – 1775) Förmögna män till skillnad från Garamond Mot vertikal växlingslinje och hög kontrast Övergångsform - transantikva (Realer)

17- och 1800-tal Åter till Italien och Giambattista Bodoni Mycket framgångsrik man Senantikva (didon), elegant med hög kontrast Dålig läsbarhet, passar bäst i rubriker Vertikal växlingslinje och tunna serifer Poster-Bodoni är vanlig på datorer, MEN detta är ingen äkta Bodoni

Teckensnitt 1800-tal Industrialiseringens århundrande De moderna sanseriferna dyker upp Först är William Caslon IV, 1816, den tidigare William Caslons sonsonson med typsnittet English Egyptian Egyptiska och grekiska förebilder som passade in i den nya tiden Kallades/kallas ofta för grotesk

Teckensnitt 1900-tal Sanserifen vidareutvecklas Kallas även linjär eller mekan Från början inget geometriskt ursprung 1920-talet med Bauhaus som ville fånga den nya maskinålderns anda Att bygga allt utifrån grundformer som kvadrat, cirkel, triangel Funktionalism ersätter antikvan?

BAUHAUS Grundades av arkitekten Walter Gropius 1919-1933, stängdes av nazisterna Konstnärer som Kanditsky och Mondrian Jan Tschichold, typografisk ideolog Asymmetrisk layout med ljusrum Strängt geometriska teckensnitt som Futura Icke-funktionell funktionalism? Vidareutvecklades senare i Schweitz med exempelvis Helvetica från 1957

Teckensnitt 1900-tal RAST 15 min! Beatrice Warde Morris Fuller Benton ”The intelligent use of type” Morris Fuller Benton Den elegante ingenjören Eric Gill Typograf, tecknare, skulptör mm För hantverk mot industrialism Ojämn högermarginal, Gill Sans Postmodernism? Antikvan överlever allt? RAST 15 min!

En riktigt gammal sanserif Grekisk sanserif från 500 f. Kr. Ett bustrofedon med växlande skrivriktning för varannan rad

Sanserif för datorskärmen Verdana Designad för datorskärm Skuren av Matthew Carter Beställd av Microsoft Hela denna bild är i Verdana En intervju med Carter finns på: http://www.webreview.com/1997/11_07/webauthors/11_07_97_10.shtml

Teckensnitt på datorskärm Två olika grundtyper: Bitmappade teckensnitt ett rutmönster av 1:or och 0:or utrymmeskrävande, dålig skalning Outlinefonter tecknens konturer som vektorbaserade formler Truetype-teckensnitten är outlinefonter

Måttenheter för teckensnitt inch = 2,54 cm pt = punkt = 1/72 inch pc = pica = 12 punkter px = pixel em = bredden för versala M i aktuellt teckensnitt och teckengrad ex = motsvarar höjden för gemena x i aktuellt teckensnitt och teckengrad

TEXT - läsbarhet Några faktorer som spelar roll: Teckensnitt Teckengrad Radlängd Radavstånd Papper/Skärm Bakgrundsfärg Förgrundsfärg

Komponenter för text i Java I både AWT och Swing finns TextField/JTextField TextArea/JTextArea Label/JLabel Enkelt att använda om vi först bara lär oss skilja mellan AWT och Swing

AWT-komponenter Abstract Windowing Toolkit Grafiska komponenter som funnits med sedan den allra första versionen av Java Tungviktskomponenter som samarbetar med operativsystemet där applikationen körs En knapp ser därför annorlunda ut när koden körs i Linux än den gör i Windows

AWT-komponenter

Abstract Windowing Toolkit awt package kan delas i tre delar: KOMPONENTER: knappar, textrutor... GRAFIK: bilder, fonter, färger… LAYOUTMODELLER (Layout Managers) Separata paket för: Händelsehantering: java.awt.event Bildhantering: java.awt.image PAUS 15 min!

Swing-komponenter På mångas begäran så utökades Java sedan med Swing i JDK 1.2 Swing var från början ett samarbete mellan bl a Sun, IBM och Netscape En del komponenter har sitt urprung i Netscapes Internet Foundation Classes Komponenter som ser likadana ut oberoende av plattform och OS

Swing-komponenter Swing består av 9st delpaket och en mängd klasser och interface Grundpaketet heter javax.swing import javax.swing.*; AWT utgår från klassen Component Swing utgår från JComponent Button blir JButton Label blir JLabel

Swing-komponenter Ett bra sätt att få en liten inblick i allt som går att göra med Swing-komponenter är att ta sig till: X:\j2sdk1.x\demo\jfc\SwingSet2\ och sedan klicka upp SwingSet2Plugin.html JFC = Java Foundation Classes AWT, Swing, Java 2D mm

Händelselyssnare I Java behöver man fånga händelser En klass som kan fånga händelser är en lyssnarklass med särskilda metoder som systemet anropar när händelser inträffar Till vår hjälp har vi lyssnargränssnitt: WindowEvent – WindowListener MouseEvent - MouseListener

Händelselyssnare Den händelse vi kommer att använda mest är av klassen ActionEvent Interfacet heter ActionListener: public class A extends JApplet implements ActionListener {} Vi kan sedan fånga händelser från komponenter som (J)Button och (J)TextField

Händelselyssnare Den metod som sedan behöver implementeras är actionPerformed: public void actionPerformed(ActionEvent e) { Lite smart kod; }//actionPerformed Lyssnaren behöver slutligen även registreras minKnapp.addActionListener(this);

Layoutmodeller del1 BorderLayout som explicit sätts genom: Defaultmodellen för många komponenter är BorderLayout som explicit sätts genom: setLayout(new BorderLayout()); North West Center East South

Layoutmodeller i AWT Fem stycken knappar utplacerade enligt BorderLayout

AWT-layoutmodeller java.awt.FlowLayout Lägger ut dina komponenter i rader som ord i en ordbehandlare med konstanterna CENTER LEFT RIGHT Reglera avstånd ihöjd och sidled med setHgap() och setVgap() Mycket lätt att använda Känslig för storleksändringar av fönstret Default för Panel-objekt

MSPEL:s hemsida Tack för idag! En kurshemsida med föreläsningar, lektioner och uppgifter: http://dsv.su.se/~mintsp + ett exempel om Text i Java http://dsv.su.se/~mintsp/exempel/Exempel1.java Som jag går igenom för de som vill. För er andra: Tack för idag!

Text i en Java applet import java.awt.*; import javax.swing.*; public class Exempel1 extends JApplet{ private JPanel panel; private TextYta ty; public void init(){ setBackground(new Color(204, 0, 0)); this.setSize(350, 200); ty = new TextYta(); this.getContentPane().add(ty,"Center"); }//init }//Exempel1

Text i en Java applet class TextYta extends JPanel{ private String text; private Font minFont; private FontMetrics fm; private Dimension dim; private int x, y; public TextYta(){ super(); this.setSize(350, 200); setBackground(new Color(204, 0, 0)); minFont = new Font("TimesRoman", java.awt.Font.BOLD, 52); text = new String("Hallå Kista!"); }

Text i en Java applet public void paintComponent(Graphics g){ super.paintComponent(g); g.setColor(new Color(255, 255, 0)); g.setFont(minFont); fm = g.getFontMetrics(minFont); dim = getSize(); int sWidth = fm.stringWidth(text); x = (dim.width/2) - (sWidth/2); y = 110; g.drawString(text,x, y); }//paintComponent }//TextYta