oceane751
Messages postés80Date d'inscriptionjeudi 23 décembre 2004StatutMembreDernière intervention17 juillet 2018
-
16 avril 2007 à 00:55
souady youness -
25 mai 2015 à 18:10
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é
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?
Alors déjà pour le ButtonGroup tu crées un nouveau ButtonGroup a chaque boutton. Il faut que tu mettes le group = new ButtonGroup(); avant le while. Tu devrez déjà avoir un bouton en selection et pourvoir le récuérer par isSelected.
Perso dans ce cas je stocke la valeur du bouton radio chaque fois qu'on clique dessus
ex :
String result;
[...]
for (int i = 0; i < 5; i++) {
b = new JRadioButton("Type : " + i);
b.addActionListener(this);
bg.add(b);
p.add(b);
}
jb = new JButton("Ok");
jb.addActionListener(this);
[...]
public void actionPerformed(ActionEvent e) {
if (e.getSource() instanceof JRadioButton) {
result = ((JRadioButton) e.getSource()).getText();
} else {
if (e.getSource() == jb) {
System.out.println(result);
}
}
}
oceane751
Messages postés80Date d'inscriptionjeudi 23 décembre 2004StatutMembreDernière intervention17 juillet 2018
>
hotrod
17 avril 2007 à 17:52
ok merci
j'ai voulu ajouté un champs TextField pour chaque bouton
j'ai fait ça : TextField text = new TextField(i) ou TextField text = new TextField()
puis j'ai fait :
JOptionPane.showMessageDialog(null, "Je suis le bouton : " + bt.getText()+" " +((TextField)e.getSource()).getText());
16 avril 2007 à 20:19
mais comment, apres avoir mi isSelected(), recuperer la valeur du radio coché?
merci encore
17 avril 2007 à 13:52
ex :
String result;
[...]
for (int i = 0; i < 5; i++) {
b = new JRadioButton("Type : " + i);
b.addActionListener(this);
bg.add(b);
p.add(b);
}
jb = new JButton("Ok");
jb.addActionListener(this);
[...]
public void actionPerformed(ActionEvent e) {
if (e.getSource() instanceof JRadioButton) {
result = ((JRadioButton) e.getSource()).getText();
} else {
if (e.getSource() == jb) {
System.out.println(result);
}
}
}
17 avril 2007 à 17:52
j'ai voulu ajouté un champs TextField pour chaque bouton
j'ai fait ça : TextField text = new TextField(i) ou TextField text = new TextField()
puis j'ai fait :
JOptionPane.showMessageDialog(null, "Je suis le bouton : " + bt.getText()+" " +((TextField)e.getSource()).getText());
mais ya beauoup d'erreur...
8 mai 2011 à 03:16
25 mai 2015 à 18:10