MenuBar.Command() не показывает никаких результатов в Vaadin
Я создаю меню в динамическом режиме, извлекая значения из базы данных MySQL, проверяя одно из полей на true и затем соответственно добавляя пункты меню в строку меню, которая становится правильно реализованной. Но когда я выбираю любой из пунктов меню и пытаюсь напечатать полученный текст выбранного элемента, он ничего не печатает.
Мой класс пользовательского интерфейса: (Project3UI.java)
package com.example.project3;
import javax.servlet.annotation.WebServlet;
import com.vaadin.annotations.Theme;
import com.vaadin.annotations.VaadinServletConfiguration;
import com.vaadin.navigator.Navigator;
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinServlet;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Label;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;
@SuppressWarnings("serial")
@Theme("mytheme1")
public class Project3UI extends UI {
@WebServlet(value = "/*",name = "Servlet", asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, ui = Project3UI.class)
public static class Servlet extends VaadinServlet {
}
@Override
protected void init(VaadinRequest request) {
Navigator navigator = new Navigator(this, this);
navigator.addView("", new MemberStudentView());
navigator.addView("clubpage", new ClubPage());
}
}
Мой класс просмотра: (MemberStudentView.java)
package com.example.project3;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.vaadin.annotations.Theme;
import com.vaadin.navigator.Navigator;
import com.vaadin.navigator.View;
import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
import com.vaadin.server.ThemeResource;
import com.vaadin.ui.Embedded;
import com.vaadin.ui.Label;
import com.vaadin.ui.Layout;
import com.vaadin.ui.MenuBar;
import com.vaadin.ui.Panel;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.MenuBar.MenuItem;
@Theme("mytheme1")
public class MemberStudentView extends Panel implements View {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/ClubPortalDb";
// Database credentials
static final String USER = "xxxx";
static final String PASS = "xxxxx";
Navigator navigator;
Connection conn = null;
Statement stmt = null;
String cname;
String status;
public MemberStudentView() {
super(new VerticalLayout());
setCaption("Messages");
Embedded e = new Embedded();
e.setSource(new ThemeResource("img/club1.PNG"));
MenuBar menubar = new MenuBar();
menubar.setWidth("100%");
MenuItem Clubs = menubar.addItem("MY CLUBS",null,null);
MenuItem PendingClubs = menubar.addItem("PENDING REQUESTS", null, null);
((Layout)getContent()).addComponent(e);
((Layout)getContent()).addComponent(menubar);
try{
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//STEP 3: Open a connection
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "Select * from memberStudent WHERE name = 'Priya'";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
cname = rs.getString("ClubName");
status = rs.getString("membership_status");
if(status.equalsIgnoreCase("true")){
Clubs.addItem(cname, null, null);
}
else if(status.equalsIgnoreCase("false")){
PendingClubs.addItem(cname, null, null);
}
}
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e2){
//Handle errors for Class.forName
e2.printStackTrace();
}
System.out.println("Goodbye!");
MenuBar.Command mycommand = new MenuBar.Command() {
public void menuSelected(MenuItem selectedItem) {
System.out.println(selectedItem.getText());
if(selectedItem.getText().equalsIgnoreCase(cname.toLowerCase()))
{
System.out.println("cmnm");
}
else if(selectedItem.getText().equals("PENDING REQUESTS"))
{
System.out.println("cmnp");
}
};
};
}
@Override
public void enter(ViewChangeEvent event) {
navigator = event.getNavigator();
}
}
Это просто печатает
Connecting to Database...
Creating statement...
Goodbye!
и ничего не печатает на консоли
Помогите мне, пожалуйста. Я новичок в Ваадине.