Interface java
Miss-Pyary
Messages postés
8
Statut
Membre
-
sakoba2010 Messages postés 165 Statut Membre -
sakoba2010 Messages postés 165 Statut Membre -
Salut,tt le monde suis actuellement en stage et suis censée faire une application de gestion de stock, j voulais faire une interface suivant ce module :
http://photos-c.ak.fbcdn.net/hphotos-ak-snc6/216639_2019752692078_1191739046_32492839_7515476_n.jpg
ché po si c'est possible de faire une interface comme celle ci en java.
Si quelqu'un peut m aider j vous serais très reconnaissante
Cette application sera développer sur NetBeans 6.9.1
Merci d avance
http://photos-c.ak.fbcdn.net/hphotos-ak-snc6/216639_2019752692078_1191739046_32492839_7515476_n.jpg
ché po si c'est possible de faire une interface comme celle ci en java.
Si quelqu'un peut m aider j vous serais très reconnaissante
Cette application sera développer sur NetBeans 6.9.1
Merci d avance
A voir également:
- Interface java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
2 réponses
C'est tout à fait possible de créer ce genre d'interface en Java en utilisant les librairies Swing et AWT.
Si tu débutes en Swing ça te fera un bon entrainement!
Pour le tableau tu aura probablement besoin de créer un modèle qui te sera propre car la JTable est bien souvent insuffisante pour faire les actions que l'on attend d'un tableur classique.
Je te passe le code d'un modèle de tableur qui pourrai te convenir.
N'hésite pas à poser des questions j'ai bossé sur le développement d'un programme quasi similaire.
Si tu débutes en Swing ça te fera un bon entrainement!
Pour le tableau tu aura probablement besoin de créer un modèle qui te sera propre car la JTable est bien souvent insuffisante pour faire les actions que l'on attend d'un tableur classique.
Je te passe le code d'un modèle de tableur qui pourrai te convenir.
import javax.swing.table.AbstractTableModel;
import java.io.*;
/**
*
* @author guillaume.b
*/
//CLASSE TABLE MODÈLE PERSONNALISÉE
public class ZModel extends AbstractTableModel implements Serializable{
private Object[][] data;
private String[] title;
/**
* Constructeur
* @param data
* @param title
*/
public ZModel(Object[][] data, String[] title){
this.data = data;
this.title = title;
}
/**
* Retourne le nombre de colonnes
*/
public int getColumnCount() {
return this.title.length;
}
/**
* Retourne le nombre de lignes
*/
public int getRowCount() {
return this.data.length;
}
/**
* Retourne la valeur à l'emplacement spécifié
*/
public Object getValueAt(int row, int col) {
return this.data[row][col];
}
public String getColumnName(int col) {
return this.title[col];
}
//Notre méthode
public void changeColumnName(String[] value) {
title=value;
}
public Object[][] addRow(Object[] data){
int indice = 0, nbRow = this.getRowCount(), nbCol = this.getColumnCount()-1;
Object temp[][] = this.data;
this.data = new Object[nbRow+1][nbCol];
for(Object[] value : temp)
this.data[indice++] = value;
this.data[indice] = data;
temp = null;
//Cette méthode permet d'avertir le tableau que les données ont été modifiées
//Ce qui permet une mise à jours complète du tableau
this.fireTableDataChanged();
return this.data;
}
/**
* Méthode permettant de retirer une ligne du tableau
* @param position
*/
public Object[][] removeRow(int position){
int indice = 0, indice2 = 0, nbRow = this.getRowCount(), nbCol = this.getColumnCount();
Object temp[][] = new Object[nbRow-1][nbCol];
for(Object[] value : this.data){
if(indice != position){
temp[indice2++] = value;
}
indice++;
}
this.data=new Object[nbRow-1][nbCol];
this.data = temp;
temp = null;
//Cette méthode permet d'avertir le tableau que les données ont été modifiées
//Ce qui permet une mise à jours complète du tableau
this.fireTableDataChanged();
return this.data;
}
public Class getColumnClass(int col){
//On retourne le type de la cellule à la colonne demandée
//On se moque de la ligne puisque les données sur chaque ligne sont les mêmes
//On choisit donc la première ligne
return this.data[0][col].getClass();
}
public String[] getColumnNames(){
return title;
}
public Object[][] addColumn(String data){
int nbRow = this.getRowCount(), nbCol = this.getColumnCount();
String [] tempo = this.title;
this.title = new String[nbCol+1];
for(int i=0;i<nbCol;i++){
title[i]=tempo[i];
}
title[nbCol]=data;
String tempor;
tempor = title[nbCol-1];
title[nbCol-1] = title[nbCol];
title[nbCol]= tempor;
Object temp[][] = this.data;
this.data = new Object[nbRow][nbCol+1];
for(int i=0;i<nbRow;i++){
for(int j=0;j<nbCol+1;j++){
if(j==nbCol){
this.data [i][j]="";
}
else{
this.data[i][j]=temp[i][j];
}
}
}
for(int i=0;i<nbRow;i++){
Object tempor2=this.data[i][nbCol-1];
this.data[i][nbCol-1] = "";
this.data[i][nbCol]=tempor2;
}
temp = null;
tempor = null;
//Cette méthode permet d'avertir le tableau que les données ont été modifiées
//Ce qui permet une mise à jours complète du tableau
this.fireTableDataChanged();
return this.data;
}
public Object[][] removeColumn(int position){
int nbRow = this.getRowCount(), nbCol = this.getColumnCount();
int i,j,k;
Object temp[][] = new Object[nbRow][nbCol-1];
String[] tempo = new String[nbCol-1];
for(i=0,j=0;i<nbCol;i++){
if(i==position);
else{
tempo[j++]=title[i];
}
}
title = new String[nbCol-1];
title=tempo;
tempo = null;
for(i=0;i<nbRow;i++){
for(j=0,k=0;j<nbCol;j++){
if(j==position);
else{
temp[i][k++]=this.data[i][j];
}
}
}
this.data=new Object[nbRow][nbCol-1];
this.data = temp;
temp = null;
//Cette méthode permet d'avertir le tableau que les données ont été modifiées
//Ce qui permet une mise à jours complète du tableau
this.fireTableDataChanged();
return this.data;
}
/**
* Méthode permettant de retirer une ligne du tableau
* @param position
*/
public boolean isCellEditable(int row, int col){
if(col==0||col==this.getColumnCount()-1){return true;}
else if(((String)data[row][0]).isEmpty()){
return false;
}
return true;
}
public void setValueAt(Object obj, int row, int col)
{
this.data[row][col] = obj;
}
public String[] getTitle(){
return title;
}
}
N'hésite pas à poser des questions j'ai bossé sur le développement d'un programme quasi similaire.