gpt4 book ai didi

java - 我不知道如何让我的 JCombobox 将其数据插入我的数据库

转载 作者:行者123 更新时间:2023-11-29 12:38:00 25 4
gpt4 key购买 nike

请帮助我,我无法弄清楚将我的状态组合框数据插入到我的数据库中,这是我的代码。如果有人能帮助我,我真的很感激,因为我无法弄清楚它让我发疯。

    import java.awt.*;

import javax.swing.JInternalFrame;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JComboBox;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Component;
import java.sql.Connection;

import javax.swing.Box;

import com.mysql.jdbc.PreparedStatement;

import java.sql.*;
import java.text.SimpleDateFormat;

import com.toedter.calendar.JDateChooser;


public class Form1 extends JInternalFrame {
private JButton btnSubmit;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JTextField textField_4;

private Cancel form3;
private JTextField textField_5;
private JTextField textField_6;
private JTextField textField_7;
private JTextField textField_8;
private JTextField textField_9;
private JComboBox statesComboBox;
private JComboBox comboBox;
private JDateChooser Date;



Connection con = null;

/*public void fillComboBox(){
try{
String query= "insert into Oilform2 (State,OilType) values(?,?)";
java.sql.PreparedStatement pst = con.prepareStatement(query);
ResultSet rs= pst.executeQuery();



while (rs.next()){
statesComboBox.addItem(rs.getString("State"));
comboBox.addItem(rs.getString("OilType"));
}

}catch (Exception e){
e.printStackTrace();
}
}
*/

/**
* Create the frame.
*/
public Form1() {
con = database.dbConnector();
setTitle("New Customer");
setIconifiable(true);
setClosable(true);
setBounds(-10, -10, 600, 450);

JPanel panel = new JPanel();

JPanel panel_1 = new JPanel();
GroupLayout groupLayout = new GroupLayout(getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(Alignment.TRAILING, groupLayout.createSequentialGroup()
.addContainerGap()
.addGroup(groupLayout.createParallelGroup(Alignment.TRAILING)
.addComponent(panel_1, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 505, Short.MAX_VALUE)
.addComponent(panel, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 505, Short.MAX_VALUE))
.addContainerGap())
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addContainerGap()
.addComponent(panel, GroupLayout.PREFERRED_SIZE, 235, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(panel_1, GroupLayout.PREFERRED_SIZE, 56, GroupLayout.PREFERRED_SIZE)
.addContainerGap(14, Short.MAX_VALUE))
);

btnSubmit = new JButton("Submit");
btnSubmit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
String query = "insert into Oilform2 (FirstName, LastName, table1col, StreetAddress, City, Make, Model, CarYear, PhoneNumber, Mileage, State, OilType) values (?,?,?,?,?,?,?,?,?,?,?,?)";
java.sql.PreparedStatement pst= con.prepareStatement(query);


pst.setString(1, textField.getText());
pst.setString(2, textField_1.getText());
pst.setString(3, textField_2.getText());
pst.setString(4, textField_3.getText());
pst.setString(5, textField_4.getText());
//Combo Boxes States
//String value=statesComboBox.getSelectedItem().toString();
//pst.setString(6, value);
//pst.setString(6, (String)statesComboBox.getSelectedItem());

pst.setString(6, textField_5.getText());
pst.setString(7, textField_6.getText());
pst.setString(8, textField_7.getText());
pst.setString(9, textField_8.getText());
pst.setString(10,textField_9.getText());




//pst.setString(13, (String)comboBox.getSelectedItem());
//Combo Boxes Oil Types
//String value1=comboBox.getSelectedItem().toString();
//pst.setString(13, value1);



JOptionPane.showMessageDialog(null, "Data Saved");

pst.execute();





}catch(Exception i) {
System.err.println("Exception: " + i.getMessage());
}

}
});

// Quit
JButton btnQuit = new JButton("Quit");
btnQuit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);

}
});


GroupLayout gl_panel_1 = new GroupLayout(panel_1);
gl_panel_1.setHorizontalGroup(
gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addGap(148)
.addComponent(btnSubmit)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnQuit)
.addContainerGap(147, Short.MAX_VALUE))
);
gl_panel_1.setVerticalGroup(
gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(Alignment.TRAILING, gl_panel_1.createSequentialGroup()
.addContainerGap(21, Short.MAX_VALUE)
.addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
.addComponent(btnSubmit)
.addComponent(btnQuit))
.addContainerGap())
);
panel_1.setLayout(gl_panel_1);
//----------------------------------------------------

JLabel lblLastName = new JLabel("Last Name:");
textField = new JTextField();
textField.setColumns(10);
//----------------------------------------------------

JLabel lblMi = new JLabel("MI:");
textField_1 = new JTextField();
textField_1.setColumns(10);
//----------------------------------------------------

JLabel lblFirstName = new JLabel("First Name:");
textField_2 = new JTextField();
textField_2.setColumns(10);
//----------------------------------------------------

JLabel lblStreetAddress = new JLabel("Street Address");

textField_3 = new JTextField();
textField_3.setColumns(10);
//----------------------------------------------------

String[] statesStrings = { "AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA",
"HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME","MD", "MA", "MI", "MN",
"MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK",
"PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY"};

JComboBox statesComboBox = new JComboBox(statesStrings);
statesComboBox.setSelectedIndex(0);
//states.addActionListener(this);
//----------------------------------------------------

JLabel lblState = new JLabel("State");
//----------------------------------------------------

JLabel lblCity = new JLabel("City");

textField_4 = new JTextField();
textField_4.setColumns(10);
//----------------------------------------------------

JLabel lblMake = new JLabel("Make");

textField_5 = new JTextField();
textField_5.setColumns(10);
//----------------------------------------------------

JLabel lblModel = new JLabel("Model");

textField_6 = new JTextField();
textField_6.setColumns(10);

//----------------------------------------------------
JLabel lblYear = new JLabel("Year");

textField_7 = new JTextField();
textField_7.setColumns(10);

//----------------------------------------------------
JLabel lblNumber = new JLabel("Phone Number");

textField_8 = new JTextField();
textField_8.setColumns(10);

//----------------------------------------------------
JLabel lblMileage = new JLabel("Mileage");

textField_9 = new JTextField();
textField_9.setColumns(10);
//----------------------------------------------------

JLabel lblOilType = new JLabel("Oil Type");

String[] oilTypes = { "Oil Type 1", "Oil Type 2", "Oil Type 3", "Oil Type 4"};

JComboBox comboBox = new JComboBox(oilTypes);
comboBox.setSelectedIndex(0);

JLabel lblDate = new JLabel("Date:");

JDateChooser Date = new JDateChooser();
Date.setDateFormatString("yyyy-MM-dd");

//----------------------------------------------------
GroupLayout gl_panel = new GroupLayout(panel);
gl_panel.setHorizontalGroup(
gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addContainerGap()
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
.addComponent(lblLastName, GroupLayout.PREFERRED_SIZE, 80, GroupLayout.PREFERRED_SIZE)
.addComponent(lblStreetAddress))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_panel.createParallelGroup(Alignment.TRAILING)
.addGroup(gl_panel.createSequentialGroup()
.addComponent(textField, GroupLayout.PREFERRED_SIZE, 141, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(lblMi)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(textField_1, GroupLayout.PREFERRED_SIZE, 46, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(lblFirstName, GroupLayout.PREFERRED_SIZE, 80, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(textField_2, GroupLayout.DEFAULT_SIZE, 139, Short.MAX_VALUE))
.addGroup(gl_panel.createSequentialGroup()
.addGroup(gl_panel.createParallelGroup(Alignment.TRAILING)
.addGroup(gl_panel.createSequentialGroup()
.addComponent(textField_3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(lblCity)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(textField_4, GroupLayout.DEFAULT_SIZE, 152, Short.MAX_VALUE)
.addGap(18))
.addGroup(gl_panel.createSequentialGroup()
.addComponent(lblYear)
.addPreferredGap(ComponentPlacement.RELATED)))
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
.addComponent(textField_7, GroupLayout.PREFERRED_SIZE, 71, GroupLayout.PREFERRED_SIZE)
.addGroup(gl_panel.createSequentialGroup()
.addComponent(lblState)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(statesComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))))))
.addGroup(gl_panel.createSequentialGroup()
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
.addComponent(lblMake)
.addComponent(lblNumber))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
.addComponent(textField_8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addGroup(gl_panel.createSequentialGroup()
.addComponent(textField_5, GroupLayout.PREFERRED_SIZE, 81, GroupLayout.PREFERRED_SIZE)
.addGap(18)
.addComponent(lblModel))))
.addGroup(gl_panel.createSequentialGroup()
.addComponent(lblOilType)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(comboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(ComponentPlacement.UNRELATED)
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
.addComponent(textField_6, GroupLayout.PREFERRED_SIZE, 117, GroupLayout.PREFERRED_SIZE)
.addGroup(gl_panel.createSequentialGroup()
.addGroup(gl_panel.createParallelGroup(Alignment.TRAILING)
.addComponent(lblDate)
.addComponent(lblMileage))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING, false)
.addComponent(Date, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(textField_9))))
.addGap(70)))
.addContainerGap())
);
gl_panel.setVerticalGroup(
gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addContainerGap()
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
.addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblLastName)
.addComponent(lblMi)
.addComponent(textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(textField_2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblFirstName))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
.addComponent(lblStreetAddress)
.addComponent(textField_3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(statesComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblState)
.addComponent(lblCity)
.addComponent(textField_4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
.addComponent(textField_5, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblMake)
.addComponent(textField_7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblYear)
.addComponent(textField_6, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblModel))
.addPreferredGap(ComponentPlacement.UNRELATED)
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
.addComponent(lblNumber)
.addComponent(textField_8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblMileage)
.addComponent(textField_9, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addPreferredGap(ComponentPlacement.UNRELATED)
.addGroup(gl_panel.createParallelGroup(Alignment.TRAILING)
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
.addComponent(lblOilType)
.addComponent(comboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblDate))
.addComponent(Date, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addContainerGap(53, Short.MAX_VALUE))
);
panel.setLayout(gl_panel);
getContentPane().setLayout(groupLayout);

}
}

最佳答案

您正在隐藏变量...

您将 statesComboBox 声明为类中的实例字段...

private JComboBox statesComboBox;

但是当您在构造函数中初始化它时,您将其声明为局部变量...

JComboBox statesComboBox = new JComboBox(statesStrings);

这意味着您 ActionListener 正在尝试使用 null 引用(实例字段)

关于java - 我不知道如何让我的 JCombobox 将其数据插入我的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26479333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com