Ich habe 2 JFrame in Netbeans (Booking, ConfirmBooking), beide dort Rahmen sind mit einer SQL-Datenbank verbunden. In der Buchungsklasse wählt der Benutzer aus der angezeigten Tabelle ein Resort aus, indem er eine Zahl in ein jtext-Feld eingibt. Wenn der Benutzer die nächste Taste drückt. Die Klassenbuchung ist erledigt und ConfirmBooking ist geöffnet. Ich möchte auf die Variable zugreifen, die in Booking im jtextfield in ConfirmBooking eingegeben wurde, um auf den Namen des Resorts zuzugreifen, das der Benutzer gebucht hat.Eine Variable zwischen Klassen teilen
Buchung Klassencodierung, ich möchte auf die ID zugreifen, die oben in der Klasse auf public int festgelegt ist.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String x = jTextFieldID.getText();
ID = Integer.valueOf(x);
String sql = "SELECT RESORT_NAME FROM LouwDataBase.Resorts WHERE ID = "+ ID;
try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
try (ResultSet rs = pstmt.executeQuery()) {
if (rs.next()) {
String resortName = rs.getString("RESORT_NAME");
int n = JOptionPane.showOptionDialog(null,
"Do you want to make a booking at "+resortName+"?",
"Confirm booking?",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE,
null,
new String[]{"Yes I do", "No I don't"},"default");
if (n == JOptionPane.YES_OPTION)
{
ConfirmBooking CB = new ConfirmBooking();
dispose();
CB.setLocationRelativeTo(null);
CB.setVisible(true);
}
else if (n == JOptionPane.NO_OPTION)
{
}
}
}
}
catch (SQLException ex)
{
Logger.getLogger(Booking.class.getName()).log(Level.SEVERE, null, ex);
}
}
ConfirmBooking Klasse Code
public void SetUp()
{
UserList();
String sql = "SELECT RESORT_NAME, COST_PER_NIGHT_ZAR FROM LouwDataBase.Resorts WHERE ID = "+ ID;
try (PreparedStatement pstmt = conn.prepareStatement(sql))
{
try (ResultSet rs = pstmt.executeQuery())
{
if (rs.next())
{
String Name1 = rs.getString("RESORT_NAME");
double Price = rs.getDouble("COST_PER_NIGHT_ZAR");
String Rands = Double.toString(Price);
ResortName.setText(Name1);
ResortPrice.setText("R "+Rands);
}
}
}
catch (SQLException ex)
{
Logger.getLogger(Booking.class.getName()).log(Level.SEVERE, null, ex);
}
}
Können Sie nicht Variablen, die Sie in 'ConfirmBooking' Konstruktor oder etwas brauchen injizieren? Darf ich diese Klassen nicht ändern? –
Nein, das ist meine Schule PAT (Praktische Bewertung Aufgabe) Ich muss mein eigenes Programm erstellen und recherchieren über die Programmierung nicht in der Klasse gelernt. – Swiper
Also, was genau hält Sie davon ab, Variablen über Konstruktor oder eine Methode zu übergeben? –