Solved

cannot resolve to a type

Posted on 2009-04-02
11
300 Views
Last Modified: 2012-05-06
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
Comment
Question by:valleytech
  • 6
  • 5
11 Comments
 
LVL 92

Expert Comment

by:objects
ID: 24054529
where are those classes coming from?

0
 

Author Comment

by:valleytech
ID: 24054630
inside the MenuFrame class
0
 
LVL 92

Expert Comment

by:objects
ID: 24054763
IU see that :) I meant what api are they from, why are you using them?

0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:valleytech
ID: 24054876
ItemHandler to generate event and set font or color
StyleHandler determine new style of font
0
 
LVL 92

Expert Comment

by:objects
ID: 24054905
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
 

Author Comment

by:valleytech
ID: 24054976
after i double check from the book, I believe I have imported all api already .
0
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
ID: 24055043
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
 

Author Comment

by:valleytech
ID: 24055139
I totally agree with you. I missed
    }//end class MenuFrame  <-- end of MenuFrame constructor



0
 

Author Comment

by:valleytech
ID: 24055434
did u take a look at my 3 frame question ?
0
 
LVL 92

Expert Comment

by:objects
ID: 24055549
I did, bit busy at the moment unfortunately.
0
 

Author Comment

by:valleytech
ID: 24055566
sure. Thank you a lot.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
This video teaches viewers about errors in exception handling.

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question