下面程序增加什么代码后才会有弹出式菜单?
下面程序增加什么代码后才会有弹出式菜单?
帮我改一下程序吧!谢谢!!!!!
package ygp;
import java.applet.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
public class Frame1 extends JFrame {
JPanel contentPane;
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenu1 = new JMenu();
JMenu jMenu2 = new JMenu();
JMenuItem jMenuItem1 = new JMenuItem();
JMenuItem j1 = new JMenuItem();
JMenuItem jMenuItem3 = new JMenuItem();
JMenuItem jMenuItem4 = new JMenuItem();
JTextArea t1 = new JTextArea();
JScrollPane tools=new JScrollPane(t1);
JMenuBar jMenuBar2 = new JMenuBar();
GridBagLayout gridBagLayout1 = new GridBagLayout();
JMenuBar jMenuBar3 = new JMenuBar();
Button button1 = new Button();
public Frame1() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(gridBagLayout1);
this.setJMenuBar(jMenuBar1);
setSize(new Dimension(400, 300));
setTitle( "编辑器 ");
jMenu1.setText( "文件 ");
jMenu2.setText( "编辑 ");
j1.setText( "打开 ");
j1.addActionListener(new Frame1_jMenuItem2_actionAdapter(this));
jMenuItem1.setText( "退出 ");
jMenuItem1.addActionListener(new Frame1_jMenuItem1_actionAdapter(this));
jMenuItem4.setText( "字体 ");
jMenuItem3.setText( "颜色 ");
tools.addMouseMotionListener(new Frame1_tools_mouseMotionAdapter(this));
tools.setFont(new java.awt.Font( "宋体 ", Font.BOLD, 14));
t1.setFont(new java.awt.Font( "宋体 ", Font.PLAIN, 15));
t1.addMouseListener(new Frame1_t1_mouseAdapter(this));
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenu1.add(j1);
jMenu1.add(jMenuItem1);
jMenu2.add(jMenuItem4);
jMenu2.add(jMenuItem3);
contentPane.add(tools, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0
, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
new Insets(0, 0, 0, 0), 198, 279));
}
public void jMenuItem1_actionPerformed(ActionEvent e) {
System.exit(0);
}
public void jMenuItem2_actionPerformed(ActionEvent e) {
t1.setText(null);
FileDialog fd=new FileDialog(this, "打开文件 ");
fd.setVisible(true);
String s1=fd.getDirectory()+fd.getFile();
try
{
FileReader tt=new FileReader(s1);
BufferedReader yy=new BufferedReader(tt);
String s2=yy.readLine();
while(s2!=null)
{ t1.setText(t1.getText()+s2+ "\n ");
s2=yy.readLine();
}
tt.close();
yy.close();
}
catch(IOException yu)
{
}
}
}
class Frame1_t1_mouseAdapter extends MouseAdapter {
private Frame1 adaptee;
Frame1_t1_mouseAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
}
class Frame1_tools_mouseMotionAdapter extends MouseMotionAdapter {
private Frame1 adaptee;
Frame1_tools_mouseMotionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
}
class Frame1_jMenuItem2_actionAdapter implements ActionListener {
private Frame1 adaptee;
Frame1_jMenuItem2_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem2_actionPerformed(e);
}
}
class Frame1_jMenuItem1_actionAdapter implements ActionListener {
private Frame1 adaptee;
Frame1_jMenuItem1_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem1_actionPerformed(e);
}
}
[解决办法]
帮顶。。。
[解决办法]
用javax.swing.JPopupMenu这个类可以实现
具体怎么用看看api
[解决办法]
JPopupMenu pop=new JPopupMenu( "Popup Menu ");
pop.add( "A ");
pop.add( "B ");
new JFrame.getContentPane().add(pop);
还可以添加事件监听器 来对用户的动作做出反应