早教吧作业答案频道 -->其他-->
朋友们帮下忙说出这段代码每一行的意思把每一行的意思写出来的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
}
}
看了 朋友们帮下忙说出这段代码每一...的网友还看了以下:
0是不是整式按整式的概念来说,0应该为整式,但沪科版七年级(下)第91页有如下表述:a/b=(a* 2020-04-22 …
如果线段AB=13㎝MA+MB=17㎝下列说法正确的是()A.M点在线段AB上B.M点在如果线段A 2020-04-27 …
高中数学困惑根据下列符号表示的语句,说明点、线、面之间的位置关系l⊂a,m∩a=A,A不属于l书上 2020-05-13 …
数学“M是P的真子集”与“M是P的真子集且P不包含于M”有什么区别?集合M={x|x=1+a^2, 2020-05-20 …
已知a=2,你能说明a是无理数吗?设a=n/m,m与n是互质的已知a=2,你能说明a是无理数吗?设 2020-05-24 …
有难度M{A,B,C}==(A+B+C)/3m{A,B,C}=A(A为三数中最小的一个)则若M{A 2020-06-13 …
比如1999年5月1日上午6点一、可以说at6:00a.m.,May1st,1999吗?二、如果没 2020-07-09 …
m为偶数,则(a-b)^m·(b-a)^m+n(a≠b)的结果是A.相等B.互为相反数C.不相等D 2020-07-20 …
一道集合的填空题,不难,就是写法有点疑问,·若A={a,b},B={x|x包含于A},M={A}, 2020-07-29 …
一次数学游戏中,老师让甲乙丙三人对己已知点A(m,n)各提出一个限制条件:甲说m-n=0,乙说点A在 2020-11-15 …