早教吧作业答案频道 -->其他-->
朋友们帮下忙说出这段代码每一行的意思把每一行的意思写出来的OK了importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassTestMenuextendsJFrameimplementsActionListener,MouseListener{//主要编写
题目详情
朋友们帮下忙 说出这段代码 每一行的意思
把每一行的意思写出来的OK了
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TestMenu extends JFrame implements ActionListener,MouseListener {
//主要编写了菜单相关 的弹出式菜单.一级菜单,二级菜单,复选菜单
JMenuBar b;
JMenu file, filetwo;
JMenuItem openfiles, close, newfile, project,jp1,jp2,jp3;
JPanel p;
JPopupMenu jp;//弹出式菜单
public TestMenu() {
p=new JPanel();
b = new JMenuBar();// 菜单栏
file = new JMenu("文件");// 创建菜单项
filetwo = new JMenu("新建文件");// 创建二级菜单项
openfiles = new JMenuItem("打开文件");// 创建一级菜单
close = new JMenuItem("关闭文件");// 创建一级菜单
newfile = new JMenuItem("新建文件");// 创建一级菜单
project = new JMenuItem("工程");// 创建二级菜单
jp=new JPopupMenu();
jp1 = new JMenuItem("弹出1");// 创建弹出菜单
jp2 = new JMenuItem("弹出2");// 创建弹出菜单
jp3 = new JMenuItem("弹出3");// 创建弹出菜单
filetwo.add(project);
filetwo.add(new JCheckBoxMenuItem("复选"));//复选菜单
file.add(openfiles);
file.addSeparator();//分割线
file.add(close);
file.add(filetwo);
b.add(file);
jp.add(jp1);
jp.add(jp2);
jp.add(jp3);
p.add(jp);
this.add(p);
p.setBackground(Color.red);
p.addMouseListener(this);
openfiles.addActionListener(this);
newfile.addActionListener(this);
project.addActionListener(this);
close.addActionListener(this);
this.setJMenuBar(b);
this.setBounds(200, 200, 300, 300);
this.setVisible(true);
}
public static void main(String[] args) {
new TestMenu();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(openfiles)) {
System.out.println("打开文件");
} else if (e.getSource().equals(close)) {
System.out.println("关闭文件");
} else if (e.getSource().equals(newfile)) {
System.out.println("新建文件");
} else if (e.getSource().equals(project)) {
System.out.println("新建工程");
}
}
public void mouseClicked(MouseEvent e) {
if(e.getButton()==MouseEvent.BUTTON3){//BUTTON1左键,BUTTON3右键
p.setBackground(Color.green);
jp.show(p,e.getX(),e.getY());
}
}
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}
把每一行的意思写出来的OK了
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TestMenu extends JFrame implements ActionListener,MouseListener {
//主要编写了菜单相关 的弹出式菜单.一级菜单,二级菜单,复选菜单
JMenuBar b;
JMenu file, filetwo;
JMenuItem openfiles, close, newfile, project,jp1,jp2,jp3;
JPanel p;
JPopupMenu jp;//弹出式菜单
public TestMenu() {
p=new JPanel();
b = new JMenuBar();// 菜单栏
file = new JMenu("文件");// 创建菜单项
filetwo = new JMenu("新建文件");// 创建二级菜单项
openfiles = new JMenuItem("打开文件");// 创建一级菜单
close = new JMenuItem("关闭文件");// 创建一级菜单
newfile = new JMenuItem("新建文件");// 创建一级菜单
project = new JMenuItem("工程");// 创建二级菜单
jp=new JPopupMenu();
jp1 = new JMenuItem("弹出1");// 创建弹出菜单
jp2 = new JMenuItem("弹出2");// 创建弹出菜单
jp3 = new JMenuItem("弹出3");// 创建弹出菜单
filetwo.add(project);
filetwo.add(new JCheckBoxMenuItem("复选"));//复选菜单
file.add(openfiles);
file.addSeparator();//分割线
file.add(close);
file.add(filetwo);
b.add(file);
jp.add(jp1);
jp.add(jp2);
jp.add(jp3);
p.add(jp);
this.add(p);
p.setBackground(Color.red);
p.addMouseListener(this);
openfiles.addActionListener(this);
newfile.addActionListener(this);
project.addActionListener(this);
close.addActionListener(this);
this.setJMenuBar(b);
this.setBounds(200, 200, 300, 300);
this.setVisible(true);
}
public static void main(String[] args) {
new TestMenu();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(openfiles)) {
System.out.println("打开文件");
} else if (e.getSource().equals(close)) {
System.out.println("关闭文件");
} else if (e.getSource().equals(newfile)) {
System.out.println("新建文件");
} else if (e.getSource().equals(project)) {
System.out.println("新建工程");
}
}
public void mouseClicked(MouseEvent e) {
if(e.getButton()==MouseEvent.BUTTON3){//BUTTON1左键,BUTTON3右键
p.setBackground(Color.green);
jp.show(p,e.getX(),e.getY());
}
}
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}
▼优质解答
答案和解析
哎 谁叫我现在没分用了呢,拿去吧~
import java.awt.*; //导入java.awt包里所有类
import java.awt.event.*; //导入java.awt.event包里所有类
import javax.swing.*; //导入javax.swing包里所有类
public class TestMenu extends JFrame implements ActionListener,MouseListener {
//主要编写了菜单相关 的弹出式菜单.一级菜单,二级菜单,复选菜单
JMenuBar b; //菜单条
JMenu file,filetwo; //菜单栏
JMenuItem openfiles,close,newfile,project,jp1,jp2,jp3; //菜单内容
JPanel p; //JPanel容器
JPopupMenu jp;//弹出式菜单
public TestMenu() { //测试方法
p=new JPanel();
b = new JMenuBar();// 菜单栏
file = new JMenu("文件");// 创建菜单项
filetwo = new JMenu("新建文件");// 创建二级菜单项
openfiles = new JMenuItem("打开文件");// 创建一级菜单
close = new JMenuItem("关闭文件");// 创建一级菜单
newfile = new JMenuItem("新建文件");// 创建一级菜单
project = new JMenuItem("工程");// 创建二级菜单
jp=new JPopupMenu(); //new和add就是创建和增加,不写那么多
jp1 = new JMenuItem("弹出1");// 创建弹出菜单
jp2 = new JMenuItem("弹出2");// 创建弹出菜单
jp3 = new JMenuItem("弹出3");// 创建弹出菜单
filetwo.add(project);
filetwo.add(new JCheckBoxMenuItem("复选"));//复选菜单
file.add(openfiles);
file.addSeparator();//分割线
file.add(close);
file.add(filetwo);
b.add(file);
jp.add(jp1);
jp.add(jp2);
jp.add(jp3);
p.add(jp);
this.add(p); //因为这个类TestMenu继承了JFrame类,所以这个类也是个JFrame,可以添加东西
p.setBackground(Color.red); //p的背景颜色
p.addMouseListener(this); //p绑定鼠标监听
openfiles.addActionListener(this); //openfiles绑定动作监听
newfile.addActionListener(this); //newfile绑定动作监听
project.addActionListener(this); //project绑定动作监听
close.addActionListener(this); //close绑定动作监听
this.setJMenuBar(b); //设置b为菜单栏
this.setBounds(200,200,300,300); //设置区域大小
this.setVisible(true); //显示出来
}
public static void main(String[] args) { //运行程序
new TestMenu();
}
public void actionPerformed(ActionEvent e) { //监听着被绑定监听的家伙们是否被操作了
if (e.getSource().equals(openfiles)) { //操作了openfiles时后台打印东西
System.out.println("打开文件");
} else if (e.getSource().equals(close)) { //操作了close时后台打印东西
System.out.println("关闭文件");
} else if (e.getSource().equals(newfile)) { //操作了newfile时后台打印东西
System.out.println("新建文件");
} else if (e.getSource().equals(project)) { //操作了project时后台打印东西
System.out.println("新建工程");
}
}
public void mouseClicked(MouseEvent e) { //鼠标点击的时候
if(e.getButton()==MouseEvent.BUTTON3){//BUTTON1左键,BUTTON3右键
p.setBackground(Color.green); //改变背景颜色
jp.show(p,e.getX(),e.getY()); //展示新颜色
}
}
public void mouseEntered(MouseEvent e) { //不处理事情,但必须重写接口里的方法
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent e) { //不处理事情,但必须重写接口里的方法
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent e) { //不处理事情,但必须重写接口里的方法
// TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent e) { //不处理事情,但必须重写接口里的方法
// TODO Auto-generated method stub
}
}
import java.awt.*; //导入java.awt包里所有类
import java.awt.event.*; //导入java.awt.event包里所有类
import javax.swing.*; //导入javax.swing包里所有类
public class TestMenu extends JFrame implements ActionListener,MouseListener {
//主要编写了菜单相关 的弹出式菜单.一级菜单,二级菜单,复选菜单
JMenuBar b; //菜单条
JMenu file,filetwo; //菜单栏
JMenuItem openfiles,close,newfile,project,jp1,jp2,jp3; //菜单内容
JPanel p; //JPanel容器
JPopupMenu jp;//弹出式菜单
public TestMenu() { //测试方法
p=new JPanel();
b = new JMenuBar();// 菜单栏
file = new JMenu("文件");// 创建菜单项
filetwo = new JMenu("新建文件");// 创建二级菜单项
openfiles = new JMenuItem("打开文件");// 创建一级菜单
close = new JMenuItem("关闭文件");// 创建一级菜单
newfile = new JMenuItem("新建文件");// 创建一级菜单
project = new JMenuItem("工程");// 创建二级菜单
jp=new JPopupMenu(); //new和add就是创建和增加,不写那么多
jp1 = new JMenuItem("弹出1");// 创建弹出菜单
jp2 = new JMenuItem("弹出2");// 创建弹出菜单
jp3 = new JMenuItem("弹出3");// 创建弹出菜单
filetwo.add(project);
filetwo.add(new JCheckBoxMenuItem("复选"));//复选菜单
file.add(openfiles);
file.addSeparator();//分割线
file.add(close);
file.add(filetwo);
b.add(file);
jp.add(jp1);
jp.add(jp2);
jp.add(jp3);
p.add(jp);
this.add(p); //因为这个类TestMenu继承了JFrame类,所以这个类也是个JFrame,可以添加东西
p.setBackground(Color.red); //p的背景颜色
p.addMouseListener(this); //p绑定鼠标监听
openfiles.addActionListener(this); //openfiles绑定动作监听
newfile.addActionListener(this); //newfile绑定动作监听
project.addActionListener(this); //project绑定动作监听
close.addActionListener(this); //close绑定动作监听
this.setJMenuBar(b); //设置b为菜单栏
this.setBounds(200,200,300,300); //设置区域大小
this.setVisible(true); //显示出来
}
public static void main(String[] args) { //运行程序
new TestMenu();
}
public void actionPerformed(ActionEvent e) { //监听着被绑定监听的家伙们是否被操作了
if (e.getSource().equals(openfiles)) { //操作了openfiles时后台打印东西
System.out.println("打开文件");
} else if (e.getSource().equals(close)) { //操作了close时后台打印东西
System.out.println("关闭文件");
} else if (e.getSource().equals(newfile)) { //操作了newfile时后台打印东西
System.out.println("新建文件");
} else if (e.getSource().equals(project)) { //操作了project时后台打印东西
System.out.println("新建工程");
}
}
public void mouseClicked(MouseEvent e) { //鼠标点击的时候
if(e.getButton()==MouseEvent.BUTTON3){//BUTTON1左键,BUTTON3右键
p.setBackground(Color.green); //改变背景颜色
jp.show(p,e.getX(),e.getY()); //展示新颜色
}
}
public void mouseEntered(MouseEvent e) { //不处理事情,但必须重写接口里的方法
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent e) { //不处理事情,但必须重写接口里的方法
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent e) { //不处理事情,但必须重写接口里的方法
// TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent e) { //不处理事情,但必须重写接口里的方法
// TODO Auto-generated method stub
}
}
看了 朋友们帮下忙说出这段代码每一...的网友还看了以下:
第三个字母为R的四个字母的单词有哪些?以D N I O L Q A A N E O这些字母来拼 第 2020-05-16 …
数据结构题目用一维数组B与列优先存放带状矩阵A中的非零元素A[i,j](1≤i≤n,i-2≤j≤i 2020-06-12 …
求下列程序段的时间复杂度,1.for(i=1;i<=n;i++)for(j=1;j<=i;j++) 2020-06-15 …
C语言冒泡排序法,疑问啊~~~~~~~~~~~~~~~~~#include<stdio.h>#de 2020-07-23 …
给定有穷单调递增数列{xn}(n∈N*),数列{xn}至少有两项,且xi≠0(1≤i≤n),定义集 2020-08-02 …
什么是带状矩阵?用一维数组B与列优先存放带状矩阵A中的非零元素A[i,j](1≤i≤n,i-2≤j 2020-08-03 …
数据结构的问题6.程序段For(i=n-1;i>0;i--)For(j=1;ja[j+1])a[j] 2020-10-30 …
设n为正整数,利用大o记号将下列程序段的执行时间表示为n的函数(1)i=1""-k=100.whil 2020-11-01 …
程序段for(i=n-1;i>=0;i--)for(j=1;jA[j+1]A[j]与A[j+1]对换 2020-11-26 …
关于螺旋填数,HELPME!源程序在这里,帮我看看啊:vara:array[1..10,1..10] 2021-01-13 …