?? 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 + -