SlideShare a Scribd company logo
1 of 8
Download to read offline
Cheick Ismael MAIGA
Cheick.ismo@gmail.com 1
Jtatoo : Api pour vos IHM
Introduction
Jtattoo se compose de plusieurs outils pour les applications Swing. Chacun d'entre eux permet aux
développeurs d'améliorer leur application avec une excellente interface utilisateur. L’api permet de
modifier les thèmes et d’ajouter des boutons close au jtabbePane et autre fonctionnalités.
Téléchargement et installation
Téléchargement
lien : http://www.jtattoo.net/Download.html
Installation
Comme tout jar l’installation se fait par l’ajout de la librairie à partir du built path .Il existe plusieur
méthode . Je vais vous présenter deux méthodes
1ère
méthode :
Clic droit sur le projet built path add external archives
Une boite de dialogue s’ouvre et vous demande le chemin ou se situe le jar télécharger
2ème
méthode :
Cette méthode consiste a crée un user library. L’avantage de cette méthode est que vous n’auriez
plus à aller cherche le jar eclipse s’aura d’office là ou chercher
Clic droit sur le projet built path addlibraries  user library (voir screenshots )
Cheick Ismael MAIGA
Cheick.ismo@gmail.com 2
Cheick Ismael MAIGA
Cheick.ismo@gmail.com 3
Une fois fini votre api est prêt à être utiliser
TP
Le TP consiste a crée une petite application et tester les différentes thème que nous propose l’api
Les différents lookAndFeel proposés sont :
 acryl : "com.jtattoo.plaf.acryl.AcrylLookAndFeel"
 aero: "com.jtattoo.plaf.aero.AeroLookAndFeel"
 aluminium: "com.jtattoo.plaf.aluminium.AluminiumLookAndFeel"
 bernstein: "com.jtattoo.plaf.bernstein.BernsteinLookAndFeel"
 fast : "com.jtattoo.plaf.fast.FastLookAndFeel"
 graphite : "com.jtattoo.plaf.graphite.GraphiteLookAndFeel"
 hifi : "com.jtattoo.plaf.hifi.HiFiLookAndFeel"
 luna : "com.jtattoo.plaf.luna.LunaLookAndFeel"
 mcwin : "com.jtattoo.plaf.mcwin.McWinLookAndFeel"
 mint : "com.jtattoo.plaf.mint.MintLookAndFeel"
 noire : "com.jtattoo.plaf.noire.NoireLookAndFeel"
 smart : "com.jtattoo.plaf.smart.SmartLookAndFeel"
 texture: "com.jtattoo.plaf.texture.TextureLookAndFeel"
Code source de l’appplication
package com.app.ihm;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;
import javax.swing.JToolBar;
public class Myapp extends JFrame {
private JPanel contentPane;
private static UIManager ui;//servira modifier le thème
private JTextArea textArea;
/**
* Launch the application.
* @throws UnsupportedLookAndFeelException
* @throws IllegalAccessException
* @throws InstantiationException
* @throws ClassNotFoundException
*/
Cheick Ismael MAIGA
Cheick.ismo@gmail.com 4
/*
* pour modifier le look il suffi de changer la de faire
* ui.setLookAndFeel(thème) thème sera changer
* par exemple par com.jtattoo.plaf.aero.AeroLookAndFeel
*/
public static void main(String[] args) throws ClassNotFoundException, InstantiationException,
IllegalAccessException, UnsupportedLookAndFeelException {
//permet de modifier le thème
//getUi().setLookAndFeel("com.jtattoo.plaf.aero.AeroLookAndFeel");
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Myapp frame = new Myapp();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();}}});}
/**
* Create the frame.
*/
public Myapp() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 401);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.WEST);
JButton btnNewButton = new JButton("acyrl");
btnNewButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
getUi().setLookAndFeel("com.jtattoo.plaf.acryl.AcrylLookAndFeel");
textArea.setText("acryl");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException
| UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace(); }}});
JButton btnNewButton_1 = new JButton("aero");
btnNewButton_1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
getUi().setLookAndFeel("com.jtattoo.plaf.aero.AeroLookAndFeel");
textArea.setText("aero");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException
| UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} }});
JButton btnNewButton_2 = new JButton("aluminium");
btnNewButton_2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
getUi().setLookAndFeel("com.jtattoo.plaf.aluminium.AluminiumLookAndFeel");
textArea.setText("aluminium");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException
| UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();}}});
JButton btnNewButton_3 = new JButton("bernstein");
btnNewButton_3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
Cheick Ismael MAIGA
Cheick.ismo@gmail.com 5
getUi().setLookAndFeel("com.jtattoo.plaf.bernstein.BernsteinLookAndFeel");
textArea.setText("bernstein");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException
| UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();}}});
JButton btnNewButton_4 = new JButton("fast");
btnNewButton_4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
getUi().setLookAndFeel("com.jtattoo.plaf.fast.FastLookAndFeel");
textArea.setText("fast");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException
| UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
JButton btnNewButton_5 = new JButton("graphite");
btnNewButton_5.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
getUi().setLookAndFeel("com.jtattoo.plaf.graphite.GraphiteLookAndFeel");
textArea.setText("graphite");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException
| UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();}}});
JButton btnNewButton_6 = new JButton("hifi");
btnNewButton_6.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
getUi().setLookAndFeel("com.jtattoo.plaf.hifi.HiFiLookAndFeel");
textArea.setText("hifi");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException
| UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();}}});
JButton btnNewButton_7 = new JButton("luna");
btnNewButton_7.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
getUi().setLookAndFeel("com.jtattoo.plaf.luna.LunaLookAndFeel");
textArea.setText("luna");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException
| UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace(); }}});
JButton btnNewButton_8 = new JButton("texture");
btnNewButton_8.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
Cheick Ismael MAIGA
Cheick.ismo@gmail.com 6
getUi().setLookAndFeel("com.jtattoo.plaf.texture.TextureLookAndFeel");
textArea.setText("texture");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException
| UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
JButton btnNewButton_9 = new JButton("noire");
btnNewButton_9.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
getUi().setLookAndFeel("com.jtattoo.plaf.noire.NoireLookAndFeel");
textArea.setText("noire");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException
| UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();}}});
JButton btnNewButton_10 = new JButton("smart");
btnNewButton_10.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
getUi().setLookAndFeel("com.jtattoo.plaf.smart.SmartLookAndFeel");
textArea.setText("smart");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException
| UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();}}});
GroupLayout gl_panel = new GroupLayout(panel);
gl_panel.setHorizontalGroup(
gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(Alignment.TRAILING, gl_panel.createSequentialGroup()
.addContainerGap()
.addGroup(gl_panel.createParallelGroup(Alignment.TRAILING)
.addComponent(btnNewButton_8, Alignment.LEADING,
GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)
.addComponent(btnNewButton_7, Alignment.LEADING,
GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)
.addComponent(btnNewButton_6, Alignment.LEADING,
GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)
.addComponent(btnNewButton_2, Alignment.LEADING,
GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnNewButton_3, Alignment.LEADING,
GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)
.addComponent(btnNewButton_4, Alignment.LEADING,
GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)
.addComponent(btnNewButton_5, Alignment.LEADING,
GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)
.addComponent(btnNewButton_9, Alignment.LEADING,
GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)
.addComponent(btnNewButton_10, Alignment.LEADING,
GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)
.addComponent(btnNewButton_1, Alignment.LEADING,
GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)
.addComponent(btnNewButton, Alignment.LEADING,
GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE))
.addContainerGap())
);
gl_panel.setVerticalGroup(
gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addComponent(btnNewButton)
.addPreferredGap(ComponentPlacement.RELATED)
Cheick Ismael MAIGA
Cheick.ismo@gmail.com 7
.addComponent(btnNewButton_1)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnNewButton_2)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnNewButton_3)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnNewButton_4)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(btnNewButton_5)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnNewButton_6)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnNewButton_7)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(btnNewButton_8)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(btnNewButton_9)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnNewButton_10)
.addContainerGap(25, Short.MAX_VALUE))
);
panel.setLayout(gl_panel);
JPanel panel_1 = new JPanel();
contentPane.add(panel_1, BorderLayout.CENTER);
textArea = new JTextArea();
GroupLayout gl_panel_1 = new GroupLayout(panel_1);
gl_panel_1.setHorizontalGroup(
gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addContainerGap()
.addComponent(textArea, GroupLayout.DEFAULT_SIZE, 296,
Short.MAX_VALUE)
.addGap(19))
);
gl_panel_1.setVerticalGroup(
gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addGap(38)
.addComponent(textArea, GroupLayout.DEFAULT_SIZE, 320,
Short.MAX_VALUE)
.addContainerGap())
);
panel_1.setLayout(gl_panel_1);
}
public static UIManager getUi() {
return ui;}
public void setUi(UIManager ui) {
this.ui = ui;}}
Figure 1:Thème par défaut
Cheick Ismael MAIGA
Cheick.ismo@gmail.com 8
Screenshots de quelques lookAndFeels de JTatoo
Figure 2 Thème Acryl
Figure 3 thème texture
Figure 4 thème aero

More Related Content

What's hot

iOS Automation: XCUITest + Gherkin
iOS Automation: XCUITest + GherkiniOS Automation: XCUITest + Gherkin
iOS Automation: XCUITest + GherkinKenneth Poon
 
Introducing PanelKit
Introducing PanelKitIntroducing PanelKit
Introducing PanelKitLouis D'hauwe
 
Advanced Dagger talk from 360andev
Advanced Dagger talk from 360andevAdvanced Dagger talk from 360andev
Advanced Dagger talk from 360andevMike Nakhimovich
 
1 aleksandr gritsevski - attd example using
1   aleksandr gritsevski - attd example using1   aleksandr gritsevski - attd example using
1 aleksandr gritsevski - attd example usingIevgenii Katsan
 
Slide8appletv2 091028110313-phpapp01
Slide8appletv2 091028110313-phpapp01Slide8appletv2 091028110313-phpapp01
Slide8appletv2 091028110313-phpapp01Abhishek Khune
 
Android Unit Testing With Robolectric
Android Unit Testing With RobolectricAndroid Unit Testing With Robolectric
Android Unit Testing With RobolectricDanny Preussler
 
Uploading files using selenium web driver
Uploading files using selenium web driverUploading files using selenium web driver
Uploading files using selenium web driverPankaj Biswas
 
Java applet basics
Java applet basicsJava applet basics
Java applet basicsSunil Pandey
 
Everything You (N)ever Wanted to Know about Testing View Controllers
Everything You (N)ever Wanted to Know about Testing View ControllersEverything You (N)ever Wanted to Know about Testing View Controllers
Everything You (N)ever Wanted to Know about Testing View ControllersBrian Gesiak
 
Bring the fun back to java
Bring the fun back to javaBring the fun back to java
Bring the fun back to javaciklum_ods
 
Google Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleGoogle Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleMathias Seguy
 
How to build twitter bot using golang from scratch
How to build twitter bot using golang from scratchHow to build twitter bot using golang from scratch
How to build twitter bot using golang from scratchKaty Slemon
 
Jmeter memory profiling, server-side monitoring, memory and cpu monitoring
Jmeter memory profiling, server-side monitoring, memory and cpu monitoringJmeter memory profiling, server-side monitoring, memory and cpu monitoring
Jmeter memory profiling, server-side monitoring, memory and cpu monitoringPankaj Biswas
 
Keep your Wicket application in production
Keep your Wicket application in productionKeep your Wicket application in production
Keep your Wicket application in productionMartijn Dashorst
 
Android ui layouts ,cntls,webservices examples codes
Android ui layouts ,cntls,webservices examples codesAndroid ui layouts ,cntls,webservices examples codes
Android ui layouts ,cntls,webservices examples codesAravindharamanan S
 
Quick: Better Tests via Incremental Setup
Quick: Better Tests via Incremental SetupQuick: Better Tests via Incremental Setup
Quick: Better Tests via Incremental SetupBrian Gesiak
 
Contextual communications and why you should care - Droidcon DE
Contextual communications and why you should care - Droidcon DEContextual communications and why you should care - Droidcon DE
Contextual communications and why you should care - Droidcon DEMarcos Placona
 
Automated testing of mobile applications on multiple platforms
Automated testing of mobile applications on multiple platformsAutomated testing of mobile applications on multiple platforms
Automated testing of mobile applications on multiple platformsjobandesther
 

What's hot (20)

iOS Automation: XCUITest + Gherkin
iOS Automation: XCUITest + GherkiniOS Automation: XCUITest + Gherkin
iOS Automation: XCUITest + Gherkin
 
B.Sc. III(VI Sem) Advance Java Unit2: Appet
B.Sc. III(VI Sem) Advance Java Unit2: AppetB.Sc. III(VI Sem) Advance Java Unit2: Appet
B.Sc. III(VI Sem) Advance Java Unit2: Appet
 
Introducing PanelKit
Introducing PanelKitIntroducing PanelKit
Introducing PanelKit
 
Advanced Dagger talk from 360andev
Advanced Dagger talk from 360andevAdvanced Dagger talk from 360andev
Advanced Dagger talk from 360andev
 
1 aleksandr gritsevski - attd example using
1   aleksandr gritsevski - attd example using1   aleksandr gritsevski - attd example using
1 aleksandr gritsevski - attd example using
 
Slide8appletv2 091028110313-phpapp01
Slide8appletv2 091028110313-phpapp01Slide8appletv2 091028110313-phpapp01
Slide8appletv2 091028110313-phpapp01
 
Android Unit Testing With Robolectric
Android Unit Testing With RobolectricAndroid Unit Testing With Robolectric
Android Unit Testing With Robolectric
 
Uploading files using selenium web driver
Uploading files using selenium web driverUploading files using selenium web driver
Uploading files using selenium web driver
 
Java applet basics
Java applet basicsJava applet basics
Java applet basics
 
Everything You (N)ever Wanted to Know about Testing View Controllers
Everything You (N)ever Wanted to Know about Testing View ControllersEverything You (N)ever Wanted to Know about Testing View Controllers
Everything You (N)ever Wanted to Know about Testing View Controllers
 
Bring the fun back to java
Bring the fun back to javaBring the fun back to java
Bring the fun back to java
 
Google Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleGoogle Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification Google
 
How to build twitter bot using golang from scratch
How to build twitter bot using golang from scratchHow to build twitter bot using golang from scratch
How to build twitter bot using golang from scratch
 
Jmeter memory profiling, server-side monitoring, memory and cpu monitoring
Jmeter memory profiling, server-side monitoring, memory and cpu monitoringJmeter memory profiling, server-side monitoring, memory and cpu monitoring
Jmeter memory profiling, server-side monitoring, memory and cpu monitoring
 
Keep your Wicket application in production
Keep your Wicket application in productionKeep your Wicket application in production
Keep your Wicket application in production
 
Android ui layouts ,cntls,webservices examples codes
Android ui layouts ,cntls,webservices examples codesAndroid ui layouts ,cntls,webservices examples codes
Android ui layouts ,cntls,webservices examples codes
 
Quick: Better Tests via Incremental Setup
Quick: Better Tests via Incremental SetupQuick: Better Tests via Incremental Setup
Quick: Better Tests via Incremental Setup
 
Contextual communications and why you should care - Droidcon DE
Contextual communications and why you should care - Droidcon DEContextual communications and why you should care - Droidcon DE
Contextual communications and why you should care - Droidcon DE
 
Easy mock
Easy mockEasy mock
Easy mock
 
Automated testing of mobile applications on multiple platforms
Automated testing of mobile applications on multiple platformsAutomated testing of mobile applications on multiple platforms
Automated testing of mobile applications on multiple platforms
 

Viewers also liked

Eucharistic congress 1932
Eucharistic congress 1932Eucharistic congress 1932
Eucharistic congress 1932mrdowdican
 
Can HIEs Really Achieve Financial Sustainability: A Case Study and Discussion...
Can HIEs Really Achieve Financial Sustainability: A Case Study and Discussion...Can HIEs Really Achieve Financial Sustainability: A Case Study and Discussion...
Can HIEs Really Achieve Financial Sustainability: A Case Study and Discussion...William Buddy Gillespie ITIL Certified
 
Altivar18 Lang: Deutsch - ENg- Spanish - French
Altivar18 Lang: Deutsch - ENg- Spanish - FrenchAltivar18 Lang: Deutsch - ENg- Spanish - French
Altivar18 Lang: Deutsch - ENg- Spanish - FrenchHéctor Estigarribia
 
WTM Fresh 2013, Sugarcake pitch
WTM Fresh 2013, Sugarcake pitchWTM Fresh 2013, Sugarcake pitch
WTM Fresh 2013, Sugarcake pitchMark Frary
 
Psicomotricitat al pati 1
Psicomotricitat al pati 1Psicomotricitat al pati 1
Psicomotricitat al pati 1Mercè Gimeno
 
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Unigine Corp.
 
Les metamorphose1
Les metamorphose1Les metamorphose1
Les metamorphose1華強 吳
 
2014 10-26-30ste rbs-tocht
2014 10-26-30ste rbs-tocht2014 10-26-30ste rbs-tocht
2014 10-26-30ste rbs-tochtRbs Jabbeke
 
2014 12-30-4de doenkerezeswekentocht
2014 12-30-4de doenkerezeswekentocht2014 12-30-4de doenkerezeswekentocht
2014 12-30-4de doenkerezeswekentochtRbs Jabbeke
 
Teacher Nard - Head teacher of UV ESL Center
Teacher Nard - Head teacher of UV ESL Center Teacher Nard - Head teacher of UV ESL Center
Teacher Nard - Head teacher of UV ESL Center UV ESL Center
 
Excursió a can bordoi
Excursió a can bordoiExcursió a can bordoi
Excursió a can bordoiMercè Gimeno
 
Публичный отчёт ГБОУ Школа № 1028 за 2016 год
Публичный отчёт ГБОУ Школа № 1028 за 2016 год Публичный отчёт ГБОУ Школа № 1028 за 2016 год
Публичный отчёт ГБОУ Школа № 1028 за 2016 год oznob
 
Evaluation of sources
Evaluation of sourcesEvaluation of sources
Evaluation of sourcesmrdowdican
 
Kako redizajnom telefonskih govornica unaprijediti turizam?
Kako redizajnom telefonskih govornica unaprijediti turizam?Kako redizajnom telefonskih govornica unaprijediti turizam?
Kako redizajnom telefonskih govornica unaprijediti turizam?Ivana Preiss
 
The Great Migration: Moving First Generation Digital Texts to HathiTrust: Dig...
The Great Migration: Moving First Generation Digital Texts to HathiTrust: Dig...The Great Migration: Moving First Generation Digital Texts to HathiTrust: Dig...
The Great Migration: Moving First Generation Digital Texts to HathiTrust: Dig...khage1
 
Vee's playlist
Vee's playlistVee's playlist
Vee's playlistquinnkov
 

Viewers also liked (20)

Eucharistic congress 1932
Eucharistic congress 1932Eucharistic congress 1932
Eucharistic congress 1932
 
Can HIEs Really Achieve Financial Sustainability: A Case Study and Discussion...
Can HIEs Really Achieve Financial Sustainability: A Case Study and Discussion...Can HIEs Really Achieve Financial Sustainability: A Case Study and Discussion...
Can HIEs Really Achieve Financial Sustainability: A Case Study and Discussion...
 
Asma ilahiyyah
Asma ilahiyyahAsma ilahiyyah
Asma ilahiyyah
 
Altivar18 Lang: Deutsch - ENg- Spanish - French
Altivar18 Lang: Deutsch - ENg- Spanish - FrenchAltivar18 Lang: Deutsch - ENg- Spanish - French
Altivar18 Lang: Deutsch - ENg- Spanish - French
 
A3 paronimy
A3 paronimyA3 paronimy
A3 paronimy
 
WTM Fresh 2013, Sugarcake pitch
WTM Fresh 2013, Sugarcake pitchWTM Fresh 2013, Sugarcake pitch
WTM Fresh 2013, Sugarcake pitch
 
Psicomotricitat al pati 1
Psicomotricitat al pati 1Psicomotricitat al pati 1
Psicomotricitat al pati 1
 
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
 
Les metamorphose1
Les metamorphose1Les metamorphose1
Les metamorphose1
 
2014 10-26-30ste rbs-tocht
2014 10-26-30ste rbs-tocht2014 10-26-30ste rbs-tocht
2014 10-26-30ste rbs-tocht
 
2014 12-30-4de doenkerezeswekentocht
2014 12-30-4de doenkerezeswekentocht2014 12-30-4de doenkerezeswekentocht
2014 12-30-4de doenkerezeswekentocht
 
Tobogans tallers
Tobogans tallersTobogans tallers
Tobogans tallers
 
Teacher Nard - Head teacher of UV ESL Center
Teacher Nard - Head teacher of UV ESL Center Teacher Nard - Head teacher of UV ESL Center
Teacher Nard - Head teacher of UV ESL Center
 
Excursió a can bordoi
Excursió a can bordoiExcursió a can bordoi
Excursió a can bordoi
 
Публичный отчёт ГБОУ Школа № 1028 за 2016 год
Публичный отчёт ГБОУ Школа № 1028 за 2016 год Публичный отчёт ГБОУ Школа № 1028 за 2016 год
Публичный отчёт ГБОУ Школа № 1028 за 2016 год
 
Cavalls
CavallsCavalls
Cavalls
 
Evaluation of sources
Evaluation of sourcesEvaluation of sources
Evaluation of sources
 
Kako redizajnom telefonskih govornica unaprijediti turizam?
Kako redizajnom telefonskih govornica unaprijediti turizam?Kako redizajnom telefonskih govornica unaprijediti turizam?
Kako redizajnom telefonskih govornica unaprijediti turizam?
 
The Great Migration: Moving First Generation Digital Texts to HathiTrust: Dig...
The Great Migration: Moving First Generation Digital Texts to HathiTrust: Dig...The Great Migration: Moving First Generation Digital Texts to HathiTrust: Dig...
The Great Migration: Moving First Generation Digital Texts to HathiTrust: Dig...
 
Vee's playlist
Vee's playlistVee's playlist
Vee's playlist
 

Similar to Tuto jtatoo

What do you mean it needs to be Java based? How jython saved the day.
What do you mean it needs to be Java based? How jython saved the day.What do you mean it needs to be Java based? How jython saved the day.
What do you mean it needs to be Java based? How jython saved the day.Mark Rees
 
Groovy-er desktop applications with Griffon
Groovy-er desktop applications with GriffonGroovy-er desktop applications with Griffon
Groovy-er desktop applications with GriffonEric Wendelin
 
Groovy-er Desktop Applications With Griffon
Groovy-er Desktop Applications With GriffonGroovy-er Desktop Applications With Griffon
Groovy-er Desktop Applications With GriffonMatthew McCullough
 
package buttongui; import static com.sun.deploy.config.JREInf.pdf
package buttongui; import static com.sun.deploy.config.JREInf.pdfpackage buttongui; import static com.sun.deploy.config.JREInf.pdf
package buttongui; import static com.sun.deploy.config.JREInf.pdfarjuntiwari586
 
Applet Architecture - Introducing Java Applets
Applet Architecture - Introducing Java AppletsApplet Architecture - Introducing Java Applets
Applet Architecture - Introducing Java Appletsamitksaha
 
I am getting a syntax error. I cant seem to find whats causing t.pdf
I am getting a syntax error. I cant seem to find whats causing t.pdfI am getting a syntax error. I cant seem to find whats causing t.pdf
I am getting a syntax error. I cant seem to find whats causing t.pdffashionfolionr
 
Will it blend? Java agents and OSGi
Will it blend? Java agents and OSGiWill it blend? Java agents and OSGi
Will it blend? Java agents and OSGiRobert Munteanu
 
UNIT 5-JavaFX Event Handling, Controls and Components.pdf
UNIT 5-JavaFX Event Handling, Controls and Components.pdfUNIT 5-JavaFX Event Handling, Controls and Components.pdf
UNIT 5-JavaFX Event Handling, Controls and Components.pdfSakkaravarthiS1
 

Similar to Tuto jtatoo (20)

What do you mean it needs to be Java based? How jython saved the day.
What do you mean it needs to be Java based? How jython saved the day.What do you mean it needs to be Java based? How jython saved the day.
What do you mean it needs to be Java based? How jython saved the day.
 
Groovy-er desktop applications with Griffon
Groovy-er desktop applications with GriffonGroovy-er desktop applications with Griffon
Groovy-er desktop applications with Griffon
 
Groovy-er Desktop Applications With Griffon
Groovy-er Desktop Applications With GriffonGroovy-er Desktop Applications With Griffon
Groovy-er Desktop Applications With Griffon
 
GUI Programming with Java
GUI Programming with JavaGUI Programming with Java
GUI Programming with Java
 
package buttongui; import static com.sun.deploy.config.JREInf.pdf
package buttongui; import static com.sun.deploy.config.JREInf.pdfpackage buttongui; import static com.sun.deploy.config.JREInf.pdf
package buttongui; import static com.sun.deploy.config.JREInf.pdf
 
Applet Architecture - Introducing Java Applets
Applet Architecture - Introducing Java AppletsApplet Architecture - Introducing Java Applets
Applet Architecture - Introducing Java Applets
 
SWTBot Tutorial
SWTBot TutorialSWTBot Tutorial
SWTBot Tutorial
 
Basic swing
Basic swingBasic swing
Basic swing
 
I am getting a syntax error. I cant seem to find whats causing t.pdf
I am getting a syntax error. I cant seem to find whats causing t.pdfI am getting a syntax error. I cant seem to find whats causing t.pdf
I am getting a syntax error. I cant seem to find whats causing t.pdf
 
11basic Swing
11basic Swing11basic Swing
11basic Swing
 
Will it blend? Java agents and OSGi
Will it blend? Java agents and OSGiWill it blend? Java agents and OSGi
Will it blend? Java agents and OSGi
 
java2 swing
java2 swingjava2 swing
java2 swing
 
CORE JAVA-2
CORE JAVA-2CORE JAVA-2
CORE JAVA-2
 
jQuery for web development
jQuery for web developmentjQuery for web development
jQuery for web development
 
Java awt
Java awtJava awt
Java awt
 
SwingApplet.pptx
SwingApplet.pptxSwingApplet.pptx
SwingApplet.pptx
 
Swtbot
SwtbotSwtbot
Swtbot
 
Java: GUI
Java: GUIJava: GUI
Java: GUI
 
Swing
SwingSwing
Swing
 
UNIT 5-JavaFX Event Handling, Controls and Components.pdf
UNIT 5-JavaFX Event Handling, Controls and Components.pdfUNIT 5-JavaFX Event Handling, Controls and Components.pdf
UNIT 5-JavaFX Event Handling, Controls and Components.pdf
 

More from Université de Sherbrooke (6)

Eclipse
EclipseEclipse
Eclipse
 
Rapport de fin d'etude
Rapport  de fin d'etudeRapport  de fin d'etude
Rapport de fin d'etude
 
How to install gwt and maven
How to install gwt and maven How to install gwt and maven
How to install gwt and maven
 
J2ee
J2eeJ2ee
J2ee
 
Presentation de gwt maven
Presentation de  gwt mavenPresentation de  gwt maven
Presentation de gwt maven
 
Atelier gwt
Atelier gwtAtelier gwt
Atelier gwt
 

Recently uploaded

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dashnarutouzumaki53779
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 

Recently uploaded (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dash
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 

Tuto jtatoo

  • 1. Cheick Ismael MAIGA Cheick.ismo@gmail.com 1 Jtatoo : Api pour vos IHM Introduction Jtattoo se compose de plusieurs outils pour les applications Swing. Chacun d'entre eux permet aux développeurs d'améliorer leur application avec une excellente interface utilisateur. L’api permet de modifier les thèmes et d’ajouter des boutons close au jtabbePane et autre fonctionnalités. Téléchargement et installation Téléchargement lien : http://www.jtattoo.net/Download.html Installation Comme tout jar l’installation se fait par l’ajout de la librairie à partir du built path .Il existe plusieur méthode . Je vais vous présenter deux méthodes 1ère méthode : Clic droit sur le projet built path add external archives Une boite de dialogue s’ouvre et vous demande le chemin ou se situe le jar télécharger 2ème méthode : Cette méthode consiste a crée un user library. L’avantage de cette méthode est que vous n’auriez plus à aller cherche le jar eclipse s’aura d’office là ou chercher Clic droit sur le projet built path addlibraries  user library (voir screenshots )
  • 3. Cheick Ismael MAIGA Cheick.ismo@gmail.com 3 Une fois fini votre api est prêt à être utiliser TP Le TP consiste a crée une petite application et tester les différentes thème que nous propose l’api Les différents lookAndFeel proposés sont :  acryl : "com.jtattoo.plaf.acryl.AcrylLookAndFeel"  aero: "com.jtattoo.plaf.aero.AeroLookAndFeel"  aluminium: "com.jtattoo.plaf.aluminium.AluminiumLookAndFeel"  bernstein: "com.jtattoo.plaf.bernstein.BernsteinLookAndFeel"  fast : "com.jtattoo.plaf.fast.FastLookAndFeel"  graphite : "com.jtattoo.plaf.graphite.GraphiteLookAndFeel"  hifi : "com.jtattoo.plaf.hifi.HiFiLookAndFeel"  luna : "com.jtattoo.plaf.luna.LunaLookAndFeel"  mcwin : "com.jtattoo.plaf.mcwin.McWinLookAndFeel"  mint : "com.jtattoo.plaf.mint.MintLookAndFeel"  noire : "com.jtattoo.plaf.noire.NoireLookAndFeel"  smart : "com.jtattoo.plaf.smart.SmartLookAndFeel"  texture: "com.jtattoo.plaf.texture.TextureLookAndFeel" Code source de l’appplication package com.app.ihm; import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.GroupLayout; import javax.swing.GroupLayout.Alignment; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.LayoutStyle.ComponentPlacement; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.JToolBar; public class Myapp extends JFrame { private JPanel contentPane; private static UIManager ui;//servira modifier le thème private JTextArea textArea; /** * Launch the application. * @throws UnsupportedLookAndFeelException * @throws IllegalAccessException * @throws InstantiationException * @throws ClassNotFoundException */
  • 4. Cheick Ismael MAIGA Cheick.ismo@gmail.com 4 /* * pour modifier le look il suffi de changer la de faire * ui.setLookAndFeel(thème) thème sera changer * par exemple par com.jtattoo.plaf.aero.AeroLookAndFeel */ public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException { //permet de modifier le thème //getUi().setLookAndFeel("com.jtattoo.plaf.aero.AeroLookAndFeel"); EventQueue.invokeLater(new Runnable() { public void run() { try { Myapp frame = new Myapp(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace();}}});} /** * Create the frame. */ public Myapp() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 401); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); JPanel panel = new JPanel(); contentPane.add(panel, BorderLayout.WEST); JButton btnNewButton = new JButton("acyrl"); btnNewButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { getUi().setLookAndFeel("com.jtattoo.plaf.acryl.AcrylLookAndFeel"); textArea.setText("acryl"); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e1) { // TODO Auto-generated catch block e1.printStackTrace(); }}}); JButton btnNewButton_1 = new JButton("aero"); btnNewButton_1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { getUi().setLookAndFeel("com.jtattoo.plaf.aero.AeroLookAndFeel"); textArea.setText("aero"); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } }}); JButton btnNewButton_2 = new JButton("aluminium"); btnNewButton_2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { getUi().setLookAndFeel("com.jtattoo.plaf.aluminium.AluminiumLookAndFeel"); textArea.setText("aluminium"); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e1) { // TODO Auto-generated catch block e1.printStackTrace();}}}); JButton btnNewButton_3 = new JButton("bernstein"); btnNewButton_3.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try {
  • 5. Cheick Ismael MAIGA Cheick.ismo@gmail.com 5 getUi().setLookAndFeel("com.jtattoo.plaf.bernstein.BernsteinLookAndFeel"); textArea.setText("bernstein"); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e1) { // TODO Auto-generated catch block e1.printStackTrace();}}}); JButton btnNewButton_4 = new JButton("fast"); btnNewButton_4.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { getUi().setLookAndFeel("com.jtattoo.plaf.fast.FastLookAndFeel"); textArea.setText("fast"); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); JButton btnNewButton_5 = new JButton("graphite"); btnNewButton_5.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { getUi().setLookAndFeel("com.jtattoo.plaf.graphite.GraphiteLookAndFeel"); textArea.setText("graphite"); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e1) { // TODO Auto-generated catch block e1.printStackTrace();}}}); JButton btnNewButton_6 = new JButton("hifi"); btnNewButton_6.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { getUi().setLookAndFeel("com.jtattoo.plaf.hifi.HiFiLookAndFeel"); textArea.setText("hifi"); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e1) { // TODO Auto-generated catch block e1.printStackTrace();}}}); JButton btnNewButton_7 = new JButton("luna"); btnNewButton_7.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { getUi().setLookAndFeel("com.jtattoo.plaf.luna.LunaLookAndFeel"); textArea.setText("luna"); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e1) { // TODO Auto-generated catch block e1.printStackTrace(); }}}); JButton btnNewButton_8 = new JButton("texture"); btnNewButton_8.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try {
  • 6. Cheick Ismael MAIGA Cheick.ismo@gmail.com 6 getUi().setLookAndFeel("com.jtattoo.plaf.texture.TextureLookAndFeel"); textArea.setText("texture"); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); JButton btnNewButton_9 = new JButton("noire"); btnNewButton_9.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { getUi().setLookAndFeel("com.jtattoo.plaf.noire.NoireLookAndFeel"); textArea.setText("noire"); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e1) { // TODO Auto-generated catch block e1.printStackTrace();}}}); JButton btnNewButton_10 = new JButton("smart"); btnNewButton_10.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { try { getUi().setLookAndFeel("com.jtattoo.plaf.smart.SmartLookAndFeel"); textArea.setText("smart"); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e1) { // TODO Auto-generated catch block e1.printStackTrace();}}}); GroupLayout gl_panel = new GroupLayout(panel); gl_panel.setHorizontalGroup( gl_panel.createParallelGroup(Alignment.LEADING) .addGroup(Alignment.TRAILING, gl_panel.createSequentialGroup() .addContainerGap() .addGroup(gl_panel.createParallelGroup(Alignment.TRAILING) .addComponent(btnNewButton_8, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE) .addComponent(btnNewButton_7, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE) .addComponent(btnNewButton_6, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE) .addComponent(btnNewButton_2, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(btnNewButton_3, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE) .addComponent(btnNewButton_4, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE) .addComponent(btnNewButton_5, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE) .addComponent(btnNewButton_9, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE) .addComponent(btnNewButton_10, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE) .addComponent(btnNewButton_1, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE) .addComponent(btnNewButton, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)) .addContainerGap()) ); gl_panel.setVerticalGroup( gl_panel.createParallelGroup(Alignment.LEADING) .addGroup(gl_panel.createSequentialGroup() .addComponent(btnNewButton) .addPreferredGap(ComponentPlacement.RELATED)
  • 7. Cheick Ismael MAIGA Cheick.ismo@gmail.com 7 .addComponent(btnNewButton_1) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(btnNewButton_2) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(btnNewButton_3) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(btnNewButton_4) .addPreferredGap(ComponentPlacement.UNRELATED) .addComponent(btnNewButton_5) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(btnNewButton_6) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(btnNewButton_7) .addPreferredGap(ComponentPlacement.UNRELATED) .addComponent(btnNewButton_8) .addPreferredGap(ComponentPlacement.UNRELATED) .addComponent(btnNewButton_9) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(btnNewButton_10) .addContainerGap(25, Short.MAX_VALUE)) ); panel.setLayout(gl_panel); JPanel panel_1 = new JPanel(); contentPane.add(panel_1, BorderLayout.CENTER); textArea = new JTextArea(); GroupLayout gl_panel_1 = new GroupLayout(panel_1); gl_panel_1.setHorizontalGroup( gl_panel_1.createParallelGroup(Alignment.LEADING) .addGroup(gl_panel_1.createSequentialGroup() .addContainerGap() .addComponent(textArea, GroupLayout.DEFAULT_SIZE, 296, Short.MAX_VALUE) .addGap(19)) ); gl_panel_1.setVerticalGroup( gl_panel_1.createParallelGroup(Alignment.LEADING) .addGroup(gl_panel_1.createSequentialGroup() .addGap(38) .addComponent(textArea, GroupLayout.DEFAULT_SIZE, 320, Short.MAX_VALUE) .addContainerGap()) ); panel_1.setLayout(gl_panel_1); } public static UIManager getUi() { return ui;} public void setUi(UIManager ui) { this.ui = ui;}} Figure 1:Thème par défaut
  • 8. Cheick Ismael MAIGA Cheick.ismo@gmail.com 8 Screenshots de quelques lookAndFeels de JTatoo Figure 2 Thème Acryl Figure 3 thème texture Figure 4 thème aero