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!

и ничего не печатает на консоли

Помогите мне, пожалуйста. Я новичок в Ваадине.

0 ответов

Другие вопросы по тегам