bonjour!!
j'ai un petit soucis avec mes JRadioButton dont les labels sont issus d'une requete. je n'arrive pas à recuperer ces labels..
voici mon code
import java.awt.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.*;
public class ajouter extends JFrame implements ActionListener
{
private Button bouton;
private TextField nom, prix;
private JPanel panel;
private JRadioButton box;
private ButtonGroup group;
private JLabel lab;
private JFrame frame;
public ajouter()
{
super();
panel = new JPanel();
panel.setLayout(new FlowLayout(FlowLayout.LEFT,4,2));
nom = new TextField("nom", 10);
prix = new TextField("prix en €", 10);
nom.setBackground(Color.yellow);
panel.add(nom);
panel.add(prix);
String pilote = "com.mysql.jdbc.Driver";
try
{
//Chargement de mon pilote
Class.forName(pilote);
//Connexion à ma base mysql avec mon login et mot de passe ( à vous de changer cela)
Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/creperie","root","root");
//Création de mon statement qui va me permettre d'executer mes requetes
Statement instruction = connexion.createStatement();
//Ma table s'appelle creperie et tout ce qui reste dépend d'elle
//Vous devez changer certaines infos comme le nom de la table et celui des colonnes
ResultSet resultat = instruction.executeQuery("SELECT DISTINCT type FROM carte");
JLabel lab = new JLabel("type");
panel.add(lab);
while(resultat.next())
{
String resul = resultat.getString("type");
box = new JRadioButton(resul, false);
group = new ButtonGroup();
group.add(box);
panel.add(box);
}
}
catch (Exception e)
{
System.out.println("echec pilote : "+e);
}
bouton = new Button("ajouter");
panel.add(bouton);
bouton.addActionListener(this);
//box.addActionListener(this);
JFrame frame = new JFrame();
frame.setContentPane(panel);
frame.setSize(300,300);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if ( (Button) e.getSource() == bouton )
{
if (box.isSelected())
{
//String chel = e.getActionCommand();
//String lab11 = box.getText();
String nomm = nom.getText();
String prixx = prix.getText();
JOptionPane.showMessageDialog(null,"nom : "+nom.getText()+" "+ "prix : "+prix.getText()+" "+"type :" );
String pilote = "com.mysql.jdbc.Driver";
try{
//Chargement de mon pilote
Class.forName(pilote);
//Connexion à ma base mysql avec mon login et mot de passe ( à vous de changer cela)
Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/creperie","root","root");
//Création de mon statement qui va me permettre d'executer mes requetes
Statement instruction = connexion.createStatement();
//Ma table s'appelle coffees et tout ce qui reste dépend d'elle
//Vous devez changer certaines infos comme le nom de la table et celui des colonnes
int inserer = instruction.executeUpdate("INSERT INTO carte VALUES ('','"+nom.getText()+"','','"+prix.getText()+"')");
}
catch (Exception ex){
System.out.println("echec pilote : "+ex);
}
}
}
}}
j'aimerai dejà qu'à cette ligne, apre type, cela m'affiche le label du bouton radio selectionné
JOptionPane.showMessageDialog(null,"nom : "+nom.getText()+" "+ "prix : "+prix.getText()+" "+"type :" );
de plus, j'ai utilisé group = new ButtonGroup(); afin q'un seul bouton radio ne soit selectionné, mais au lieu de ça, quand je clique sur l'un, puis sur un autre, j'ai les 2 de selectionné, et impossible de els deselectionner..
quelqu'un pourrait il m'aider à resoudre ces différents problèmes?
merci d'avance..
Configuration: Windows XP
Internet Explorer 6.0