Also, in Java
Ich habe zwei Klassen erstellt mit swing components
. In einer Klasse namens SearchPage
habe ich Parameter für eine Suche in Jtextfield
oder Jcombobox
eingerichtet und klicken Sie auf die Anwendung jbutton
. Wenn ich das tue, je nachdem, welches Feld Daten enthält, möchte ich diese Variable an die Klasse ItemPage
senden, die in meiner pop_tree-Methode verwendet werden soll, um diese Variable zu verwenden, um meine mysql-Datenbank zu durchsuchen und die Baumstruktur mit den Suchergebnissen zu füllen. Wie kann ich das erreichen? HierÜbergeben einer jcombobox-Variable von einer Klasse zu einer anderen Klasse mit einem jbutton Aktion in einer anderen Klasse
ist der Code für die pop_tree
Methode:
public final void pop_tree() throws SQLException {
//creating root node
DefaultTreeModel dbtree = (DefaultTreeModel)DBTree.getModel();
dbtree.reload();
dbtree.getRoot();
DefaultMutableTreeNode content = new DefaultMutableTreeNode("Content");
//let's see if I can create these child nodes
SearchPage s = new SearchPage();
try {
con = DBconnect.getConnection();
stm = con.createStatement();
s.apply_search_button.doClick();
if(s.apply_search_button.getModel().isPressed()){
//Grab what's in search field of Search Page
try{
String search = s.search_field.getText();
if (search == null){
return;
}else{
ResultSet rs = stm.executeQuery("SELECT * from displaydetails WHERE item LIKE '%"+search+"%'");
while (rs.next()){
DefaultMutableTreeNode itemNode = new DefaultMutableTreeNode (rs.getString("item"));
content.add(itemNode);
}
}
}catch(SQLException e){
System.out.println(e);
}
try{
//If a genre selection is made in the combo box:
if ((s.option_box.getSelectedItem())== "genre"){
String genre2 = s.result_box.getSelectedItem().toString();
if (genre2.equals(s.result_box.getSelectedItem())) {
ResultSet rs1 = stm.executeQuery("SELECT * from displaydetails WHERE genre = '" + genre2 + "';");
while (rs1.next()){
DefaultMutableTreeNode itemNode = new DefaultMutableTreeNode (rs1.getString("item"));
content.add(itemNode);
}
}
}
}catch(SQLException e){
System.out.println(e);
}
ich das Suchformular, um Setup-Parameter der Suche erstellt haben, aber wenn ich die apply_search_button
auf dem Formular klicken, mag ich die Variable die senden richtige Position in der pop_tree()
Methode, um die Suche durchzuführen. Kann mir jemand dabei helfen? Vielen Dank.
Sie tun es auf die gleiche Weise alle Informationen von einer Klasse zur anderen übergeben, entweder über Methodenparameter oder den Konstruktor, je nachdem, was Sie Sie erreichen wollen – MadProgrammer
Vielleicht sollte beginnen mit einem Blick auf [Weitergabe von Informationen an eine Methode oder einen Konstruktor] (https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html) – MadProgrammer
Danke, aber ich weiß, wie man tut und Getter. Dieser Ansatz scheint nicht zu funktionieren. Außerdem möchte ich die Variable als Parameter in meinem mysql-Zustand für die Suche verwenden. – VictorCreed