小弟Java新手,请诸位大侠帮忙看看为什么这个编写的菜单无法显示
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JToolBar;public class cai extends JFrame implements ActionListener{ private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JMenuBar menuMB = null;
private JTextArea pageTA = null;
private String scratchpad="";
private JMenu fileM = null;
private JMenuItem exitI = null;
private JMenu editM = null;
private JMenuItem cutI = null;
private JMenuItem copyI = null;
private JMenuItem pasteI = null;
private JMenuItem SelectI = null;
/**
 * This is the default constructor
 */
public cai() {
super();
initialize();
} /**
 * This method initializes this
 * 
 * @return void
 */
private void initialize() {
this.setSize(500, 200);
this.setJMenuBar(menuMB);
this.setContentPane(getJContentPane());
this.setTitle("Simple Text Editor");
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.add(new JScrollPane(pageTA));
this.getFileM();
this.getEditM();
} /**
 * This method initializes jContentPane
 * 
 * @return javax.swing.JPanel
 */
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getPageTA(), BorderLayout.CENTER);
jContentPane.setVisible(true);
this.setJMenuBar(menuMB);
this.setContentPane(getJContentPane());
this.setTitle("Simple Text Editor");
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.add(new JScrollPane(pageTA));
this.getFileM();
this.getEditM();
}
return jContentPane;
} @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub\
JMenuItem mItem=(JMenuItem) e.getSource();
if(mItem==exitI){
System.exit(0);
}
else if(mItem==cutI)
{
scratchpad=pageTA.getSelectedText();
pageTA.replaceRange("",
pageTA.getSelectionStart(),
pageTA.getSelectionEnd()
);
}
else if(mItem==copyI)
{
scratchpad=pageTA.getSelectedText();
}
else if(mItem==pasteI)
{
pageTA.insert(scratchpad, pageTA.getCaretPosition());
}
else if(mItem==SelectI)
{
pageTA.selectAll();
}
} /**
 * This method initializes menuMB
 * 
 * @return javax.swing.JMenuBar
 */
private JMenuBar getMenuMB() {
if (menuMB == null) {
menuMB = new JMenuBar();
menuMB.add(getFileM());
menuMB.add(getEditM());
}
return menuMB;
} /**
 * This method initializes pageTA
 * 
 * @return javax.swing.JTextArea
 */
private JTextArea getPageTA() {
if (pageTA == null) {
pageTA = new JTextArea();
}
pageTA.setLineWrap(true);
return pageTA;
} /**
 * This method initializes fileM
 * 
 * @return javax.swing.JMenu
 */
private JMenu getFileM() {
if (fileM == null) {
fileM = new JMenu("File"); fileM.add(getExitI());
exitI.addActionListener(this);
}

return fileM;
} /**
 * This method initializes exitI
 * 
 * @return javax.swing.JMenuItem
 */
private JMenuItem getExitI() {
if (exitI == null) {
exitI = new JMenuItem("Exit");
}

return exitI;
} /**
 * This method initializes editM
 * 
 * @return javax.swing.JMenu
 */
private JMenu getEditM() {
if (editM == null) {
editM = new JMenu("Edit");
editM.add(getCutI());
cutI.addActionListener(this);
editM.add(getCopyI());
copyI.addActionListener(this);
editM.add(getPasteI());
pasteI.addActionListener(this);
editM.add(getSelectI());
SelectI.addActionListener(this);
}
return editM;
} /**
 * This method initializes cutI
 * 
 * @return javax.swing.JMenuItem
 */
private JMenuItem getCutI() {
if (cutI == null) {
cutI = new JMenuItem("CUT");
}

return cutI;
} /**
 * This method initializes copyI
 * 
 * @return javax.swing.JMenuItem
 */
private JMenuItem getCopyI() {
if (copyI == null) {
copyI = new JMenuItem("Copy");
}

return copyI;
} /**
 * This method initializes pasteI
 * 
 * @return javax.swing.JMenuItem
 */
private JMenuItem getPasteI() {
if (pasteI == null) {
pasteI = new JMenuItem("Paste");
}

return pasteI;
} /**
 * This method initializes SelectI
 * 
 * @return javax.swing.JMenuItem
 */
private JMenuItem getSelectI() {
if (SelectI == null) {
SelectI = new JMenuItem("Select All");
}

return SelectI;
} /**
 * This method initializes jMenuItem
 * 
 * @return javax.swing.JMenuItem
 */ /**
 * This method initializes fileM
 * 
 * @return javax.swing.JMenu
 */
public static void main(String args[])
{
cai texted =new cai();
}
}  //  @jve:decl-index=0:visual-constraint="233,19"

解决方案 »

  1.   


    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import javax.swing.JMenuBar;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.JMenu;
    import javax.swing.JMenuItem;
    import javax.swing.JToolBar;public class cai extends JFrame implements ActionListener{

    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private JMenuBar menuMB = null;
    private JTextArea pageTA = null;
    private String scratchpad="";
    private JMenu fileM = null;
    private JMenuItem exitI = null;
    private JMenu editM = null;
    private JMenuItem cutI = null;
    private JMenuItem copyI = null;
    private JMenuItem pasteI = null;
    private JMenuItem SelectI = null;

    /**
     * This is the default constructor
     */
    public cai() {
    super();
    initialize();
    }

    /**
     * This method initializes this
     * 
     * @return void
     */
    private void initialize() {
    this.setSize(500, 200);
    //this.setJMenuBar(menuMB);
    this.setJMenuBar(getMenuMB()); //调用你写的getMenuMB函数
    this.setContentPane(getJContentPane());
    this.setTitle("Simple Text Editor");
    this.setVisible(true);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.add(new JScrollPane(pageTA));
    this.getFileM();
    this.getEditM();
    } /**
     * This method initializes jContentPane
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getJContentPane() {
    if (jContentPane == null) {
    jContentPane = new JPanel();
    jContentPane.setLayout(new BorderLayout());
    jContentPane.add(getPageTA(), BorderLayout.CENTER);
    jContentPane.setVisible(true);
    this.setJMenuBar(menuMB);
    this.setContentPane(getJContentPane());
    this.setTitle("Simple Text Editor");
    this.setVisible(true);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.add(new JScrollPane(pageTA));
    this.getFileM();
    this.getEditM();
    }
    return jContentPane;
    } @Override
    public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub\
    JMenuItem mItem=(JMenuItem) e.getSource();
    if(mItem==exitI){
    System.exit(0);
    }
    else if(mItem==cutI)
    {
    scratchpad=pageTA.getSelectedText();
    pageTA.replaceRange("",
    pageTA.getSelectionStart(),
    pageTA.getSelectionEnd()
    );
    }
    else if(mItem==copyI)
    {
    scratchpad=pageTA.getSelectedText();
    }
    else if(mItem==pasteI)
    {
    pageTA.insert(scratchpad, pageTA.getCaretPosition());
    }
    else if(mItem==SelectI)
    {
    pageTA.selectAll();
    }
    } /**
     * This method initializes menuMB
     *
     * @return javax.swing.JMenuBar
     */
    private JMenuBar getMenuMB() {
    if (menuMB == null) {
    menuMB = new JMenuBar();
    menuMB.add(getFileM());
    menuMB.add(getEditM());
    }
    return menuMB;
    } /**
     * This method initializes pageTA
     *
     * @return javax.swing.JTextArea
     */
    private JTextArea getPageTA() {
    if (pageTA == null) {
    pageTA = new JTextArea();
    }
    pageTA.setLineWrap(true);
    return pageTA;
    } /**
     * This method initializes fileM
     *
     * @return javax.swing.JMenu
     */
    private JMenu getFileM() {
    if (fileM == null) {
    fileM = new JMenu("File"); fileM.add(getExitI());
    exitI.addActionListener(this);
    } return fileM;
    } /**
     * This method initializes exitI
     *
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getExitI() {
    if (exitI == null) {
    exitI = new JMenuItem("Exit");
    }

    return exitI;
    } /**
     * This method initializes editM
     *
     * @return javax.swing.JMenu
     */
    private JMenu getEditM() {
    if (editM == null) {
    editM = new JMenu("Edit");
    editM.add(getCutI());
    cutI.addActionListener(this);
    editM.add(getCopyI());
    copyI.addActionListener(this);
    editM.add(getPasteI());
    pasteI.addActionListener(this);
    editM.add(getSelectI());
    SelectI.addActionListener(this);
    }
    return editM;
    } /**
     * This method initializes cutI
     *
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getCutI() {
    if (cutI == null) {
    cutI = new JMenuItem("CUT");
    }

    return cutI;
    } /**
     * This method initializes copyI
     *
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getCopyI() {
    if (copyI == null) {
    copyI = new JMenuItem("Copy");
    }

    return copyI;
    } /**
     * This method initializes pasteI
     *
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getPasteI() {
    if (pasteI == null) {
    pasteI = new JMenuItem("Paste");
    }

    return pasteI;
    } /**
     * This method initializes SelectI
     *
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getSelectI() {
    if (SelectI == null) {
    SelectI = new JMenuItem("Select All");
    } return SelectI;
    } /**
     * This method initializes jMenuItem
     *
     * @return javax.swing.JMenuItem
     */ /**
     * This method initializes fileM
     *
     * @return javax.swing.JMenu
     */
    public static void main(String args[])
    {
    cai texted =new cai();
    }
    } // @jve:decl-index=0:visual-constraint="233,19"