如何在java中链接多个框架

我创建了分开的登录和注册框架,它们都连接到 MySQL。如果我只运行注册框架,我可以将一个新用户插入到数据库中。但是,如果我运行其中包含注册框架的登录框架并按注册,即使填写了文本字段,添加到注册框架中的按钮也不起作用。

// And this is register frame class where I add user 


package YASAR;


import java.awt.BorderLayout;

import java.awt.EventQueue;


import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import javax.swing.JTextField;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JOptionPane;


import java.sql.*;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.awt.Font;


public class KullaniciEkle extends JFrame {


    public static JPanel contentPane;

    public static JTextField textField;

    public static JTextField textField_1;

    public static JTextField textField_2;

    public static JLabel lblIsim;

    public static JLabel lblSoyisim;

    public static JButton btnNewButton = new JButton("Ekle");


    /**

     * Launch the application.

     */

    public static void main(String[] args) {

        EventQueue.invokeLater(new Runnable() {

            public void run() {

                try {

                    KullaniciEkle frame = new KullaniciEkle();

                    frame.setVisible(true);




                    try {

    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/yasar","ozkan","******");


    btnNewButton.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {


        String input="INSERT INTO kullanicilar (TC,name,surname) VALUES(?,?,?)";

            try {



                PreparedStatement ps=con.prepareStatement(input);


                ps.setInt(1, Integer.parseInt(textField.getText()));

                ps.setString(2, textField_1.getText());

                ps.setString(3, textField_2.getText());



                //ps.execute();

                if(ps.executeUpdate()>0) {

                    JOptionPane.showMessageDialog(null, "user added","user add",JOptionPane.OK_CANCEL_OPTION);

                }



            }

料青山看我应如是
浏览 79回答 1
1回答

森栏

您需要将此代码放入您的Constructor.btnNewButton.addActionListener(new ActionListener() {        public void actionPerformed(ActionEvent e) {        String input="INSERT INTO kullanicilar (TC,name,surname) VALUES(?,?,?)";            try {                PreparedStatement ps=con.prepareStatement(input);                ps.setInt(1, Integer.parseInt(textField.getText()));                ps.setString(2, textField_1.getText());                ps.setString(3, textField_2.getText());                //ps.execute();                if(ps.executeUpdate()>0) {                    JOptionPane.showMessageDialog(null, "user added","user add",JOptionPane.OK_CANCEL_OPTION);                }            }catch(SQLException f) {                f.printStackTrace();            }            finally {System.out.println("pressed");}                frame.setVisible(false);                new GirisEkrani().setVisible(true);                }    });最后,它看起来像这样,import java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JTextField;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JOptionPane;import java.sql.*;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.awt.Font;public class KullaniciEkle extends JFrame {    public static JPanel contentPane;    public static JTextField textField;    public static JTextField textField_1;    public static JTextField textField_2;    public static JLabel lblIsim;    public static JLabel lblSoyisim;    public static JButton btnNewButton = new JButton("Ekle");    /**     * Launch the application.     */    public static void main(String[] args) {        EventQueue.invokeLater(new Runnable() {            public void run() {                try {                    KullaniciEkle frame = new KullaniciEkle();                    frame.setVisible(true);                } catch (Exception e) {                    e.printStackTrace();                }            }        });    }    /**     * Create the frame.     */    public KullaniciEkle() {        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setBounds(100, 100, 285, 300);        contentPane = new JPanel();        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        setContentPane(contentPane);        contentPane.setLayout(null);        textField = new JTextField();        textField.setBounds(87, 67, 96, 19);        contentPane.add(textField);        textField.setColumns(10);        textField_1 = new JTextField();        textField_1.setBounds(87, 112, 96, 19);        contentPane.add(textField_1);        textField_1.setColumns(10);        textField_2 = new JTextField();        textField_2.setBounds(87, 160, 96, 19);        contentPane.add(textField_2);        textField_2.setColumns(10);        btnNewButton.setFont(new Font("Tahoma", Font.PLAIN, 10));        btnNewButton.setBounds(93, 232, 85, 21);        contentPane.add(btnNewButton);        JLabel lblTc = new JLabel("TC");        lblTc.setFont(new Font("Tahoma", Font.PLAIN, 10));        lblTc.setBounds(10, 70, 45, 13);        contentPane.add(lblTc);        lblIsim = new JLabel("\u0130sim");        lblIsim.setFont(new Font("Tahoma", Font.PLAIN, 10));        lblIsim.setBounds(10, 115, 45, 13);        contentPane.add(lblIsim);        lblSoyisim = new JLabel("Soyisim");        lblSoyisim.setFont(new Font("Tahoma", Font.PLAIN, 10));        lblSoyisim.setBounds(10, 163, 45, 13);        contentPane.add(lblSoyisim);        btnNewButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                btnNewButtonActionPerformed(e);            }        });    }    private void btnNewButtonActionPerformed(ActionEvent evt) {        try {            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/yasar", "ozkan", "******");            String input = "INSERT INTO kullanicilar (TC,name,surname) VALUES(?,?,?)";            try {                PreparedStatement ps = con.prepareStatement(input);                ps.setInt(1, Integer.parseInt(textField.getText()));                ps.setString(2, textField_1.getText());                ps.setString(3, textField_2.getText());                //ps.execute();                if (ps.executeUpdate() > 0) {                    JOptionPane.showMessageDialog(null, "user added", "user add", JOptionPane.OK_CANCEL_OPTION);                }            } catch (SQLException f) {                f.printStackTrace();            } finally {                System.out.println("pressed");            }            //Instead of frame use this keyword            this.setVisible(false);            new GirisEkrani().setVisible(true);        } catch (SQLException e) {            e.printStackTrace();        }    }}注意:-这不是与数据库通信的最佳实践。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java