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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
| package simulateur;
import java.awt.*;
import java.awt.Graphics.*;
import java.awt.Toolkit;
import javax.swing.*;
import java.awt.geom.*;
import java.awt.Graphics2D;
import java.io.File;
import java.io.IOException;
import java.util.*;
import javax.imageio.ImageIO;
class cellRenderer implements ListCellRenderer{
public Component getListCellRendererComponent
(JList list, Object value, int index,boolean isSelected,boolean cellHasFocus){
JPanel pa=(JPanel)value;
pa.setBackground(Color.DARK_GRAY);
Dimension d=new Dimension();
d.height=50;
d.width=50;
pa.setPreferredSize(d);
return pa;
}
}
class frame extends JFrame{
public frame(){
setSize(800,800);
JPanel no=new JPanel();
Dimension dd=new Dimension();
dd.height=200 ;
dd.width=200 ;
no.setPreferredSize(dd);
JPanel panneau=new JPanel();
JPanel processeurPan=new JPanel();
JPanel commandePan =new JPanel();
JPanel processusPan =new JPanel();
JPanel processusinfo=new JPanel();
commandePan.setLayout(new GridLayout(3,1));
panneau.setLayout(new BorderLayout());
proPan ps=new proPan();/*les composant processus*/
proPan pr=new proPan();
proPan pt=new proPan();
Vector vect=new Vector();
vect.addElement(ps);
vect.addElement(pr);
vect.addElement(pt);
JList liste=new JList();/*la liste des processus*/
liste.setCellRenderer(new cellRenderer());
liste.setListData(vect);
liste.setBackground(this.getBackground());
liste.setLayoutOrientation(JList.HORIZONTAL_WRAP);
liste.setVisibleRowCount(1);
processusPan.add(liste);
JPanel buttonPan =new JPanel();
JPanel reg1=new JPanel();
JPanel reg2=new JPanel();
button ajout=new button("ajouter processus");
button demarrer=new button("DEMARRER");
button stop=new button("STOP");
JLabel registre1=new JLabel("registre1");
JLabel registre2=new JLabel("registre2");
JLabel registre3=new JLabel("registre3");
JLabel registre4=new JLabel("registre4");
JLabel registre5=new JLabel("registre5");
JLabel registre6=new JLabel("registre6");
JTextField regt1=new JTextField(10);
JTextField regt2=new JTextField(10);
JTextField regt3=new JTextField(10);
JTextField regt4=new JTextField(10);
JTextField regt5=new JTextField(10);
JTextField regt6=new JTextField(10);
reg1.setLayout(new GridLayout(6,1));
reg2.setLayout(new GridLayout(6,1));
buttonPan.add(ajout);
buttonPan.add(demarrer);
buttonPan.add(stop);
reg1.add(registre1);
reg1.add(regt1);
reg1.add(registre2);
reg1.add(regt2);
reg1.add(registre3);
reg1.add(regt3);
reg2.add(registre4);
reg2.add(regt4);
reg2.add(registre5);
reg2.add(regt5);
reg2.add(registre6);
reg2.add(regt6);
commandePan.add(processusinfo);
commandePan.add(buttonPan);
processeurPan.add(reg1,BorderLayout.WEST);
processeurPan.add(reg2,BorderLayout.EAST);
panneau.add(no,BorderLayout.NORTH);
panneau.add(processusPan,BorderLayout.WEST);
panneau.add(processeurPan,BorderLayout.EAST);
panneau.add(commandePan,BorderLayout.SOUTH);
add(panneau);
}
class button extends JButton{
public button(String nom){
super(nom);
}
}
}
class proPan extends JPanel/*la classe du composant processus*/
{
static int i=-3;
@Override
public void paintComponent(Graphics g)
{
Image img=null;
try {
img = ImageIO.read(new File("c:\\icon.PNG"));
} catch (IOException ex) {
ex.printStackTrace();
}
Dimension d=new Dimension();
d.height=50;
d.width=50;
setPreferredSize(d);
Graphics2D g2=(Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
Graphics2D g2d = (Graphics2D)img.getGraphics();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setFont(new Font("Bold",Font.PLAIN,20));
g2d.setColor(Color.BLACK);
g2d.drawString("P"+i,25,40);
FontMetrics fontMetrics = g2d.getFontMetrics();
int longueur = fontMetrics.stringWidth("P1");
int hauteur = fontMetrics.getHeight();
g2.drawImage(img, 0, 0, 50, 50, this);
i++;
}
}
public class Main {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable(){
public void run(){
frame F=new frame();
F.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
F.setVisible(true);
} });}} |
Partager