Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 315
  • Last Modified:

cannot resolve to a type

please help me on StyleHandler and ItemHandler because it is " cannot resolve to a type" Thank you.

======================
import java.awt.Color;
import java.awt.Font;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import javax.swing.JFrame;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.ButtonGroup;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;


public class MenuFrame extends JFrame {
      private final Color colorValues[]={Color.BLACK,Color.BLUE,Color.RED,Color.GREEN};
      private JRadioButtonMenuItem colorItems[];// color menu items
      private JRadioButtonMenuItem fonts[];     // font menu items
      private JCheckBoxMenuItem styleItems[];   //font style menu items
      
      private JLabel displayJLabel;        // displays sample text
      private ButtonGroup fontButtonGroup; // manages font menu items
      private ButtonGroup colorButtonGroup;// manages color menu items
      private int style;                   // used to create style for font
      
      //no-argument constructor set up GUI
      public MenuFrame()
      {
            super("Using JMenus");
            
            JMenu fileMenu = new JMenu("File");
            fileMenu.setMnemonic('F'); // set mnemonic to F
            
            //create About ... menu item
            JMenuItem aboutItem = new JMenuItem("About ...");
            aboutItem.setMnemonic('A'); // set mnemonic to A
            fileMenu.add(aboutItem);    // add about item to file menu
            
            aboutItem.addActionListener(
                        new ActionListener() // anonymous inner class
                        {
                              //display message dialog when user selects About...
                              public void actionPerformed(ActionEvent event)
                              {
                                    JOptionPane.showMessageDialog(MenuFrame.this,
                                                "This is an example\nof using menus",
                                                "About",JOptionPane.PLAIN_MESSAGE);
                              }// end method actionPerformed
                        }//end anonymous innner class
            );//end call to addActionListener
            
            JMenuItem exitItem = new JMenuItem("Exit"); // create exit item
            exitItem.setMnemonic('x'); // set mnemonic to x
            fileMenu.add(exitItem);    // add exit item to file menu
            exitItem.addActionListener(
                        new ActionListener() // anonymous inner class
                        {
                              //terminate application when user clicks exitItem
                              public void actionPerformed (ActionEvent event)
                              {
                                    System.exit(0); // exit application
                              }// end method actionPerformed
                        }// end anonymous inner class
                        );//end call to addActionListener
            
            JMenuBar bar = new JMenuBar(); // create menu bar
            setJMenuBar(bar);              // add menu bar to application
            bar.add(fileMenu);             //add file menu to menu bar
            
            JMenu formatMenu = new JMenu("Format"); // create format menu
            formatMenu.setMnemonic('r');
            
            //array listing string colors
            String colors[]={"Black","Blue","Red","Green"};
            
            JMenu colorMenu = new JMenu("Color");// create color menu
            colorMenu.setMnemonic('C');          // set mnemonic to C
            
            //create radio button menu items for colors
            colorItems = new JRadioButtonMenuItem[colors.length];
            colorButtonGroup=new ButtonGroup();          //manages colors
            ItemHandler itemHandler = new ItemHandler(); //handler for colors
            
            
            //create color ratio button menu items
            for(int count = 0; count <colors.length;count++)
            {
                  colorItems[count]= new JRadioButtonMenuItem (colors[count]); // create item
                  colorMenu.add(colorItems[count]);  // add item to color menu
                  colorButtonGroup.add(colorItems[count]); // add to group
                  colorItems[count].addActionListener(itemHandler);
            }// end for
            
            colorItems[0].setSelected(true);  // select first Color item
            
            formatMenu.add(colorMenu);        // add color menu to format menu
            formatMenu.addSeparator();        //add separator in menu
            
            //array listing font names
            String fontNames[]={"Serif","Monospaced","SansSerif"};
            JMenu fontMenu = new JMenu("Font"); // create font menu
            fontMenu.setMnemonic('n');          // set mnemonic to n
            
            //creat radio button menu items for font names
            fonts = new JRadioButtonMenuItem[fontNames.length];
            fontButtonGroup = new ButtonGroup(); // manages font names
            
            // create Font radio button menu items
            for(int count = 0; count < fonts.length; count++)
            {
                  fonts[count]= new JRadioButtonMenuItem(fontNames[count]);
                  fontMenu.add(fonts[count]);                    //add font to font menu
                  fontButtonGroup.add(fonts[count]);             //add to button group
                  fonts[count].addActionListener(itemHandler);  //add handler
            }//end for
            
            fonts[0].setSelected(true); //select first Font Menu item
            fontMenu.addSeparator();    //add separator bar to font menu
            
            String styleNames[]={"Bold","Italic"};      // names of styles
            styleItems = new JCheckBoxMenuItem[styleNames.length];
            StyleHandler styleHandler = new StyleHandler(); // style handler
            
            //create style checkbox menu items
            for(int count =0; count <styleNames.length; count++)
            {
                  styleItems[count]= new JCheckBoxMenuItem(styleNames[count]);    // for style
                  fontMenu.add(styleItems[count]);                                // add to font menu
                  styleItems[count].addItemListener(styleHandler);                //handler
            } // end for
            
            
//            formatMenu.add(fontMenu); // add Font menu to Format menu
//            bar.add(formatMenu);      // add Format menu to menu bar
            
            private class ItemHandler implements ActionListener
            {
                  //process color and font selections
                  public void actionPerformed(ActionEvent event)
                  {
                        //process color selection
                        for(int count = 0; count<colorItems.length;count++)
                        {
                              if(colorItems[count].isSelected())
                              {
                                    displayJLabel.setForeground(colorValues[count]);
                                    break;
                              }//end if
                        }//end for
                        
                        //process font selection
                        for(int count = 0; count < fonts.length;count++)
                        {
                              if(event.getSource() == fonts[count])
                              {
                                    displayJLabel.setFont(new Font (fonts[count].getText(),style,72));
                              }//end if
                        }//end for
                        repaint(); // redraw application
                  }// end method actionPerformed
            }// end class ItemHandler
            
            //inner class to handle item events from check box menu items
            private class  StyleHandler implements ItemListener
            {
                  //process font style selections
                  public void itemStateChanged(ItemEvent e)
                  {
                        style = 0; // initialize style
                        
                        // check for bold selection
                        if(styleItems[0].isSelected())
                                    style += Font.ITALIC; // add italic to style
                        displayJLabel.setFont(
                                    new Font (displayJLabel.getFont().getName(),style,72));
                        repaint(); // redraw application
                  }// end method itemStateChanged
            }// end class StyleHandler
      }//end class MenuFrame
      
      
}
=============
import javax.swing.JFrame;

public class MenuTest {

      /**
       * @param args
       */
      public static void main(String[] args) {
            // TODO Auto-generated method stub
            MenuFrame menuFrame = new MenuFrame(); // create MenuFrame
            menuFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            menuFrame.setLocationRelativeTo(null);
            menuFrame.setSize(500,200);
            menuFrame.setVisible(true);
      }// end main
}//end class MenuTest
===========
0
valleytech
Asked:
valleytech
  • 6
  • 5
1 Solution
 
objectsCommented:
where are those classes coming from?

0
 
valleytechAuthor Commented:
inside the MenuFrame class
0
 
objectsCommented:
IU see that :) I meant what api are they from, why are you using them?

0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
valleytechAuthor Commented:
ItemHandler to generate event and set font or color
StyleHandler determine new style of font
0
 
objectsCommented:
where do they come from? what api are they p[art of?
you need to add the api's jars/classes to your build path


0
 
valleytechAuthor Commented:
after i double check from the book, I believe I have imported all api already .
0
 
objectsCommented:
sorry, didn't look deep enough in your code :)
they are inner classes but you have put them inside a method, try:

import java.awt.Color;
import java.awt.Font;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import javax.swing.JFrame;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.ButtonGroup;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;


public class MenuFrame extends JFrame {
      private final Color colorValues[]={Color.BLACK,Color.BLUE,Color.RED,Color.GREEN};
      private JRadioButtonMenuItem colorItems[];// color menu items
      private JRadioButtonMenuItem fonts[];     // font menu items
      private JCheckBoxMenuItem styleItems[];   //font style menu items
     
      private JLabel displayJLabel;        // displays sample text
      private ButtonGroup fontButtonGroup; // manages font menu items
      private ButtonGroup colorButtonGroup;// manages color menu items
      private int style;                   // used to create style for font
     
      //no-argument constructor set up GUI
      public MenuFrame()
      {
            super("Using JMenus");
           
            JMenu fileMenu = new JMenu("File");
            fileMenu.setMnemonic('F'); // set mnemonic to F
           
            //create About ... menu item
            JMenuItem aboutItem = new JMenuItem("About ...");
            aboutItem.setMnemonic('A'); // set mnemonic to A
            fileMenu.add(aboutItem);    // add about item to file menu
           
            aboutItem.addActionListener(
                        new ActionListener() // anonymous inner class
                        {
                              //display message dialog when user selects About...
                              public void actionPerformed(ActionEvent event)
                              {
                                    JOptionPane.showMessageDialog(MenuFrame.this,
                                                "This is an example\nof using menus",
                                                "About",JOptionPane.PLAIN_MESSAGE);
                              }// end method actionPerformed
                        }//end anonymous innner class
            );//end call to addActionListener
           
            JMenuItem exitItem = new JMenuItem("Exit"); // create exit item
            exitItem.setMnemonic('x'); // set mnemonic to x
            fileMenu.add(exitItem);    // add exit item to file menu
            exitItem.addActionListener(
                        new ActionListener() // anonymous inner class
                        {
                              //terminate application when user clicks exitItem
                              public void actionPerformed (ActionEvent event)
                              {
                                    System.exit(0); // exit application
                              }// end method actionPerformed
                        }// end anonymous inner class
                        );//end call to addActionListener
           
            JMenuBar bar = new JMenuBar(); // create menu bar
            setJMenuBar(bar);              // add menu bar to application
            bar.add(fileMenu);             //add file menu to menu bar
           
            JMenu formatMenu = new JMenu("Format"); // create format menu
            formatMenu.setMnemonic('r');
           
            //array listing string colors
            String colors[]={"Black","Blue","Red","Green"};
           
            JMenu colorMenu = new JMenu("Color");// create color menu
            colorMenu.setMnemonic('C');          // set mnemonic to C
           
            //create radio button menu items for colors
            colorItems = new JRadioButtonMenuItem[colors.length];
            colorButtonGroup=new ButtonGroup();          //manages colors
            ItemHandler itemHandler = new ItemHandler(); //handler for colors
           
           
            //create color ratio button menu items
            for(int count = 0; count
0
 
valleytechAuthor Commented:
I totally agree with you. I missed
    }//end class MenuFrame  <-- end of MenuFrame constructor



0
 
valleytechAuthor Commented:
did u take a look at my 3 frame question ?
0
 
objectsCommented:
I did, bit busy at the moment unfortunately.
0
 
valleytechAuthor Commented:
sure. Thank you a lot.
0

Featured Post

[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now