如何做到java点击某菜单项打开一个对话框(AWT)
新手要做一个有菜单的界面,现在制作了一点,因为例子不多,卡在这里打开一个对话框这里了,需要做到点击“帮助”下子菜单“关于”时弹出一个对话框,对话框简单的就行,例如把Lab...
新手要做一个有菜单的界面,现在制作了一点,因为例子不多,卡在这里打开一个对话框这里了,需要做到点击“帮助”下子菜单“关于”时弹出一个对话框,对话框简单的就行,例如把Lable加在一个Panel上显示出一行字,
程序如下:
import java.awt.*;
import java.awt.event.*;
public class MenuWindow extends Frame implements ActionListener
{
public MenuWindow(){
MenuBar mb;
Menu m1,m2,m3;
MenuItem mi1_1,mi1_2,mi1_3,mi2_1;
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
mb=new MenuBar();
setMenuBar(mb);
m1=new Menu("操作");
mb.add(m1);
mi1_1=new MenuItem("输入");
m1.add(mi1_1);
mi1_2=new MenuItem("查询");
m1.add(mi1_2);
mi1_3=new MenuItem("退出");
m1.add(mi1_3);
m2=new Menu("帮助");
mb.add(m2);
mi2_1=new MenuItem("关于");
m2.add(mi2_1);
mi1_1.addActionListener(this);
mi1_2.addActionListener(this);
mi1_3.addActionListener(this);
mi2_1.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
else if (e.getActionCommand()=="退出")
{
System.exit(0);
}
else if (e.getActionCommand()=="关于")
{
}
}
public static void main(String args[]){
MenuWindow window=new MenuWindow();
window.setTitle("My AWT");
window.setSize(450,200);
window.setVisible(true);
}
}
可以的话尽量简单明了,谢谢
补充一下,主要还有这个语句,我不懂怎么在这里写什么可以激活一个对话框,是写一个new? 先谢下1楼的,不过我暂时还不能从那个例子看懂…… 相关知识还是贫瘠了……
else if (e.getActionCommand()=="关于")
{
} 展开
程序如下:
import java.awt.*;
import java.awt.event.*;
public class MenuWindow extends Frame implements ActionListener
{
public MenuWindow(){
MenuBar mb;
Menu m1,m2,m3;
MenuItem mi1_1,mi1_2,mi1_3,mi2_1;
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
mb=new MenuBar();
setMenuBar(mb);
m1=new Menu("操作");
mb.add(m1);
mi1_1=new MenuItem("输入");
m1.add(mi1_1);
mi1_2=new MenuItem("查询");
m1.add(mi1_2);
mi1_3=new MenuItem("退出");
m1.add(mi1_3);
m2=new Menu("帮助");
mb.add(m2);
mi2_1=new MenuItem("关于");
m2.add(mi2_1);
mi1_1.addActionListener(this);
mi1_2.addActionListener(this);
mi1_3.addActionListener(this);
mi2_1.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
else if (e.getActionCommand()=="退出")
{
System.exit(0);
}
else if (e.getActionCommand()=="关于")
{
}
}
public static void main(String args[]){
MenuWindow window=new MenuWindow();
window.setTitle("My AWT");
window.setSize(450,200);
window.setVisible(true);
}
}
可以的话尽量简单明了,谢谢
补充一下,主要还有这个语句,我不懂怎么在这里写什么可以激活一个对话框,是写一个new? 先谢下1楼的,不过我暂时还不能从那个例子看懂…… 相关知识还是贫瘠了……
else if (e.getActionCommand()=="关于")
{
} 展开
1个回答
展开全部
由于菜单项也是一个按钮,这里给出一个按钮触发对话框的例子,来源:《Thinking in Java》
//c14:Dialogs.java
//Creating and using Dialog Boxes.
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class MyDialog extends JDialog{//制作对话框
public MyDialog(JFrame parent){
super(parent,"My dialog",true);
Container cp=getContentPane();
cp.setLayout(new FlowLayout());
cp.add(new JLabel("Here is my dialog"));
JButton ok=new JButton("OK");
ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
}
});
cp.add(ok);
setSize(150,125);
}
}
public class Dialogs extends JApplet{
private JButton b1=new JButton("Dialog Box");
private MyDialog dlg=new MyDialog(null);
public void init(){
b1.addActionListener(new ActionListener(){//这里增加事件
public void actionPerformed(ActionEvent e){
dlg.setVisible(true);
}
});
getContentPane().add(b1);
}
}
//c14:Dialogs.java
//Creating and using Dialog Boxes.
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class MyDialog extends JDialog{//制作对话框
public MyDialog(JFrame parent){
super(parent,"My dialog",true);
Container cp=getContentPane();
cp.setLayout(new FlowLayout());
cp.add(new JLabel("Here is my dialog"));
JButton ok=new JButton("OK");
ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
}
});
cp.add(ok);
setSize(150,125);
}
}
public class Dialogs extends JApplet{
private JButton b1=new JButton("Dialog Box");
private MyDialog dlg=new MyDialog(null);
public void init(){
b1.addActionListener(new ActionListener(){//这里增加事件
public void actionPerformed(ActionEvent e){
dlg.setVisible(true);
}
});
getContentPane().add(b1);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询