编写一个图形界面的Java Application,为用户提供三种关闭窗口的方法
2。使用菜单栏
3。使用窗口关闭图表
急!!!!!!!!!!!!!!!!!!!!!!!!! 展开
******************************************************************
新建类CloseFrame.java,代码如下:
******************************************************************
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
public class CloseFrame extends JFrame implements ActionListener {
JMenuBar menu;
JMenu file;
JMenuItem closeMenu;
public CloseFrame() {
menu = new JMenuBar();
file = new JMenu("文件");
closeMenu = new JMenuItem("关闭");
closeMenu.addActionListener(this);
JButton closeButton = new JButton(" 关闭 ");
closeButton.addActionListener(this);
JPanel closePanel = new JPanel();
closePanel.setLayout(new FlowLayout());
closePanel.add(closeButton);
this.add(closePanel, BorderLayout.CENTER);
this.add(menu, BorderLayout.NORTH);
menu.add(file);
file.add(closeMenu);
this.setBounds(200, 100, 200, 120);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
public static void main(String[] args) {
new CloseFrame();
}
}
******************************************************************
运行结果如下:
******************************************************************
//分别用了菜单栏,按钮和窗口关闭事件来关闭窗口,
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class CloseFrameDemo extends JFrame{
JMenuBar bar = new JMenuBar();
JMenu menu = new JMenu("File");
JMenuItem item = new JMenuItem("Exit");
JButton btn_exit = new JButton("Exit");
public CloseFrameDemo() {
super("Demo");
item.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
menu.add(item);
bar.add(menu);
this.setJMenuBar(bar);
this.setSize(300, 300);
btn_exit.setBounds(200, 180, 80, 24);
btn_exit.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
this.setLayout(null);
this.add(btn_exit);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
public static void main(String[] args) {
new CloseFrameDemo();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import javax.swing.text.*;
public class Groundback extends JFrame implements ActionListener {
Container con=this.getContentPane();// 设置默认容器
// 选择对话筐
JFileChooser filechooser=new JFileChooser("d:");
JTextArea text=new JTextArea(null,5,5); //文本框
int size=12;//字体大小
//添加两个容器
Panel p1=new Panel();
Panel p2=new Panel();
Panel p3=new Panel();
JButton jb=new JButton("关闭窗体");
File file=null;// 申明一个保存文件的变量
JButton btnsave=new JButton("保存文本");//保存按钮
JButton btnopen=new JButton("打开文本");//打开文件
//菜单栏
JMenuBar menubar=new JMenuBar();
//菜单1;
JMenu menu1=new JMenu("文件");
JMenuItem menuexit=new JMenuItem("退出");
Groundback(){
super("无标题");
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//菜单添加
menubar.add(menu1);
//按钮事件
jb.addActionListener(this);
//菜单1
menuexit.addActionListener(this);
menu1.addSeparator();//添加分隔线
menu1.add(menuexit);
con.setLayout(new BorderLayout());//排序方式
p1.setLayout(new BorderLayout());//排序菜单栏
//添加组件
p1.add(menubar,BorderLayout.WEST);//添加工具条
p2.add(text);//添加文本框
p2.add(jb);
con.add(p1,BorderLayout.NORTH);
con.add(p2,BorderLayout.SOUTH);
con.add(p3,BorderLayout.CENTER);
con.add(new JScrollPane(text));
this.setLocation(300, 300);
this.setSize(550,400);//宽X高
this.setVisible(true);//显示窗口
}
protected JTextComponent createEditor() {
JTextComponent c = new JTextArea();
c.setDragEnabled(true);
c.setFont(new Font("monospaced", Font.PLAIN, 12));
return c;
}
public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
//文件功能
if(e.getSource()==menuexit){
this.exitfile(); //退出文件
}
if(e.getSource()==jb){
this.exitfile(); //退出文件
}
}
//--------------菜单1的功能------------------
public void exitfile(){
if(file==null&&text.getText().equals("")){
System.exit(0);
}
else{
int b=JOptionPane.showConfirmDialog(null,"..");
if(b==JOptionPane.YES_NO_OPTION){
System.exit(0);
}
if(b==JOptionPane.NO_OPTION){
System.exit(0);
}
}
}
//--------------菜单2的功能------------------
public static void main(String[] args) {
new Groundback();
}
}
public void actionPerformed(ActionEvent e){
System.exit(0);
/*
Component c;
c=(Component)e.getSource();
while(!(c instanceof JFrame)){
c=c.getParent();
}
c.dispose();
*/
}};
btn.addActionListener(al);
item.addActionListener(al);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);