📄 mymenu.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class myMenu extends JFrame //implements ActionListener,TextListener,FocusListener
{
private static int flag=0,flag_close=0;
public static void main(String[] args)
{
final JFrame jf=new JFrame("菜单演示程序");
final JMenuBar jmb=new JMenuBar();
final JMenu jm=new JMenu("菜单");
final JMenuItem jmi=new JMenuItem("退出");
final JButton jb=new JButton("离开");
final String str="当用户修改了文本框中的内容并试图离开这个文本框时\n程序弹出有模式对话框请用户确认修改\n如果用户只是进入并退出文本框而没有修改其中的内容\n则不会弹出对话框";
final JTextArea jta=new JTextArea(str,5,20);
final JTextField jtf=new JTextField("fjsioa",20);
final TextArea ta=new TextArea(str,5,30);
JPanel p1=new JPanel();
JPanel p2=new JPanel();
final JDialog jd=new JDialog(jf,"确认退出",false);
Container content=jf.getContentPane();
Container content2=jd.getContentPane();
final JButton jb1=new JButton("是");
final JButton jb2=new JButton("否");
JLabel jl=new JLabel("您的文本已被修改是否保留并退出?");
//int flag=0;
p2.add("West",jb1);
p2.add("East",jb2);
content2.add(jl,BorderLayout.NORTH);
content2.add(p2,BorderLayout.SOUTH);
jf.setBounds(200,200,200,200);
jd.setBounds(250,250,100,100);
jf.setSize(300,300);
jmi.setAccelerator(KeyStroke.getKeyStroke('E',Event.CTRL_MASK));
jmb.add(jm);
jf.setJMenuBar(jmb);
jm.add(jmi);
jmi.addActionListener(new CloseListener());
//jta.addTextListener(new myMenu());
p1.add(jb);
//p1.add(jta);
//p1.add(jtf);
p1.add(ta);
content.add(p1);
jf.pack();
jd.pack();
class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals(jb.getText()))
{
if(flag==1&&flag_close==0)
jd.show();
else
//if(flag_close==1)
System.exit(0);
}
if(e.getActionCommand().equals(jb1.getText()))
{
flag_close=1;
ta.setText(ta.getText());
jd.setVisible(false);
//System.exit(0);
}
if(e.getActionCommand().equals(jb2.getText()))
{
flag_close=1;
ta.setText(str);
jd.setVisible(false);
//flag=0;
//System.exit(0);
}
}
}
jb.addActionListener(new ButtonListener());
jb1.addActionListener(new ButtonListener());
jb2.addActionListener(new ButtonListener());
class textAreaListener implements TextListener
{
public void textValueChanged(TextEvent e)
{
flag=1;
}
}
ta.addTextListener(new textAreaListener());
class focusListener implements FocusListener
{
public void focusGained(FocusEvent e)
{}
public void focusLost(FocusEvent e)
{
if(flag==1)
jd.show();
}
}/**/
ta.addFocusListener(new focusListener());
jf.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
//jf.setVisible(true);
jf.show();
// if(flagL==1)
//jd.show();
//myMenu my=new myMenu();my.f.setVisible(true);my.f.show();
//my.go();
}
}
/*class actionListener implement ActionListener
{
public void actionPerformed(ActionEvent e)
{
fla
}
}*/
class CloseListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -