2017-10-26 8 views
-1

Java eclipseを使用してフォームを作成したいと思います。問題は、私は合計のJLabelとJTextField.thisを追加取得することができないのは、私のコードです:JLabelとJTextFieldはスイング形式ではありません

class gestiontache extends JFrame{ 


JFrame f; 
JPanel p1, p2, p3; 
JTabbedPane tp; 

JLabel l1, l2, l3,l4,l5; 
JComboBox tf3categor; 
JComboBox tf4Affiliation; 
JComboBox tf5montant; 

JTextField tf1, tf2; 
JScrollPane sp1; 
JButton savebtn, resetbtn, editbtn; 
private static String FILE = "c:/temp/DocumentPdf.pdf"; 
private static Font catFont = new Font(Font.FontFamily.TIMES_ROMAN, 18, 
     Font.BOLD); 
private static Font redFont = new Font(Font.FontFamily.TIMES_ROMAN, 12, 
     Font.NORMAL, BaseColor.RED); 
private static Font subFont = new Font(Font.FontFamily.TIMES_ROMAN, 16, 
     Font.BOLD); 
private static Font smallBold = new Font(Font.FontFamily.TIMES_ROMAN, 12, 
     Font.BOLD); 
gestiontache() { 
    f = new JFrame("Form"); 
    GridLayout lay1= new GridLayout(12, 2); 
    GridLayout lay2= new GridLayout(5, 2); 
    p1 = new JPanel(lay1); 
    p2 = new JPanel(lay2); 
    lay1.setHgap(5); //Cinq pixels d'espace entre les colonnes (H comme Horizontal) 
    lay1.setVgap(5); //Cinq pixels d'espace entre les lignes (V comme Vertical) 
    lay2.setHgap(5); 
    lay2.setVgap(5); 
    tp = new JTabbedPane(); 
    l1 = new JLabel("Nom"); 
    l2 = new JLabel("Prénom"); 
    l3 = new JLabel("Catégorie"); 
    l4 = new JLabel("Affiliation"); 
    l5 = new JLabel("Montant à payer"); 
    tf1 = new JTextField(12); 
    tf2 = new JTextField(12); 
    tf3categor = new JComboBox(new String[] { "Medecin", "Technicien", "Pharmacien","Autre" }); 
    tf4Affiliation =new JComboBox(new String[] { "K", "T", "Sf","Gab","Toze","Med","Tat","Na","B","G","Si","Ga","Ke","Kr" }); 
    tf5montant = new JComboBox(new String[] { "15 Dinars", "30 Dinars"}); 
    savebtn = new JButton(" Ajouter "); 
    resetbtn = new JButton(" Annuler"); 
    editbtn = new JButton(" Imprimer"); 

    p1.add(l1); 
    p1.add(tf1); 
    p1.add(l2); 
    p1.add(tf2); 
    p1.add(l3); 
    p1.add(tf3categor); 
    p1.add(l4); 
    p1.add(tf4Affiliation); 
    p1.add(l5); 
    p1.add(tf5montant); 
    p1.add(savebtn); 
    p1.add(resetbtn); 
    p2.add(l1); 
    p2.add(tf1); 
    p2.add(l2); 
    p2.add(tf2); 
    p2.add(editbtn); 
    resetbtn.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent ae) { 
      clear(); 
     } 
    }); 
    savebtn.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent ae) { 
      String nom, prenom,categorie, affiliation, montant; 
      nom = tf1.getText(); 
      prenom = tf2.getText(); 
      categorie=(String) tf3categor.getSelectedItem(); 
      affiliation=(String) tf4Affiliation.getSelectedItem(); 
      montant=(String) tf5montant.getSelectedItem(); 
      String url = "jdbc:mysql://localhost:3306/seminaire"; 
      String userid = "root"; 
      String password = ""; 
      try { 
      Connection connection = DriverManager.getConnection(url, 
         userid, password); 
      Statement st = connection.createStatement(); 

       if (nom != "" && prenom != ""&& categorie!= ""&& affiliation!= ""&& montant!= "") { 
    st.executeUpdate("insert into participant values('" + nom 
          + "','" + prenom + "','" + categorie + "','"+affiliation+"','"+montant+"')"); 
JOptionPane.showMessageDialog(null,"Données insérées avec succès"); 
        clear(); 
       } else { 
    JOptionPane.showMessageDialog(null, "merci de saisir vos données"); 
       } 
      } catch (Exception ex) { 
       ex.printStackTrace(); 
      } 
     } 
    }); 
      editbtn.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent ae) { 
      String nom, prenom,categorie, affiliation, montant; 
      nom = tf1.getText(); 
      prenom = tf2.getText(); 
      String url = "jdbc:mysql://localhost:3306/seminaire"; 
      String userid = "root"; 
      String password = ""; 
      try { 
       Connection connection = DriverManager.getConnection(url, 
         userid, password); 
       Statement st = connection.createStatement(); 

       if (nom != "" && prenom != "") { 
       ResultSet rs= st.executeQuery("SELECT * FROM participant 
       WHERE nom=nom && prenom=prenom"); 
        while (rs.next()) 
    { 
    String nm = rs.getString("nom"); 
    String prnm = rs.getString("prenom"); 
    String cat = rs.getString("categorie"); 
    String afl=rs.getString("affiliation"); 
    String mnt=rs.getString("montant"); 
    // print the results 
    Document document = new Document(); 
    try { 
     PdfWriter.getInstance(document, new FileOutputStream(FILE)); 
     //open 
     document.open(); 
     Paragraph p = new Paragraph(); 
     p.add("Reçu"); 
     p.setAlignment(Element.ALIGN_CENTER); 
     document.add(p); 
     Paragraph p2 = new Paragraph(); 
     p2.add(nm); //no alignment 
     document.add(p2); 
     Font f = new Font(); 
     f.setStyle(Font.BOLD); 
     f.setSize(8); 
     document.add(new Paragraph("This is my paragraph 3", f)); 
     //close 
     document.close(); 
     System.out.println("Done"); 
     } catch (FileNotFoundException | DocumentException e) { 
     e.printStackTrace(); 
     } catch (IOException e) { 
     e.printStackTrace(); 
     } 
     } 
     }  
     else { 
     JOptionPane.showMessageDialog(null, "merci de saisir vos données"); 

       } 

     } 
      catch (Exception e) 
      { 
       System.err.println(e.getMessage()); 
      } 
      }}); 
     } 
      void dis() { 
     f.getContentPane().add(tp); 
     tp.addTab("Ajouter participant", p1); 
     tp.addTab("Imprimer attestation", p2); 

     f.setSize(500, 400); 
    f.setVisible(true); 
    f.setResizable(true); 
     } 

    void clear() 
    { 
     tf1.setText(""); 
     tf2.setText(""); 
     tf3categor.setSelectedItem(""); 
     tf4Affiliation.setSelectedItem(""); 
     tf5montant.setSelectedItem(""); 
    } 

    public static void main(String z[]) { 
    gestiontache data = new gestiontache(); 
    data.dis(); 
    } 
     }   

` ここでの問題は、JLabelのとJTextFieldの(NOM、prenomが)するために、フォームに表示されませんですデータベースから挿入または選択します。どのように私はそれを修正することができますどのような考えを持ってください。

+0

'(もし!NOM = ""!&& prenom = "")'は動作しません。 https://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-javaを参照してください。また、コードを適切に書式設定すると、より多くのヘルプが得られます。現在のところ、コードは理解するのが非常に難しいです。 – VGR

答えて

0
p2.add(l1); 

p2.add(tf1); 

p2.add(l2); 

p2.add(tf2); 

これら上記のフィールドは、両方p1(Tab1)p2(Tab2)パネルに追加された、ありがとうございました。

なぜそれが表示されていません。

p1p2パネルの両方に対して、別個のコントロールを作成する必要があります。 2つのパネルで同じコントロールを再使用しないでください。例えば

l7 = new JLabel("Normal"); 

p2.add(l7); 
+0

ありがとう、ありがとう –

関連する問題