fr.add(pan3,\ fr.add(ta,\
fr.setSize(300,150);/*窗口大小*/ fr.setVisible(true); } }
2,请设计一个如下图的GUI,不必实作事件接口。
import java.awt.*;
public class computer extends Frame{ computer() {
setLayout(new GridLayout(4,4,10,10));/*定义布局 4行4列 x 10 y 10*/
Button[] but = new Button[16];/*定义16个按钮*/ for(int i=0; i<10; i++) {
but[i] = new Button(Integer.toString(i));/*建立按钮*/ }
but[10] = new Button(\建立按钮*/ but[11] = new Button(\ but[12] = new Button(\ but[13] = new Button(\ but[14] = new Button(\ but[15] = new Button(\ add(but[7]);/*加载到窗体*/ add(but[8]); add(but[9]); add(but[10]); add(but[4]); add(but[5]); add(but[6]); add(but[11]);
add(but[1]); add(but[2]); add(but[3]); add(but[12]); add(but[0]); add(but[15]); add(but[14]); add(but[13]);
setSize(300,150);/*窗口大小*/ setVisible(true);
}
public static void main(String[] args) { computer doc=new computer(); // TODO, add your application code //System.out.println(\ } }
3,一个能进行加法运算的简单计算器 程序如下:
import java.awt.*;
import java.awt.event.*;
public class add extends Frame implements ActionListener {
Label label1 = new Label(\ //Label label2 = new Label(\ TextField field1 = new TextField(6); TextField field2 = new TextField(6); TextField field3 = new TextField(6); Button button1 = new Button(\ Panel panel=new Panel(); add() { //初始化
setTitle(\简单加法运算\
setLayout(new BorderLayout(50,50)); panel.setLayout(new FlowLayout()); panel.add(field1); panel.add(label1);
panel.add(field2); panel.add(button1); panel.add(field3);
Label lb=new Label(\这是一个简单加法计算器\ add(lb,BorderLayout.NORTH); add(panel,BorderLayout.CENTER);
button1.addActionListener(this);//实现了动作接口: //implements ActionListener当前窗口:this做为按钮的事件监听器,动作//接口只有一个方法:actionPerformed()查帮助文档action可知。 setSize(400,600); setVisible(true); }
public static void main(String[] args) { add addcomputer=new add();
addcomputer.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});
//主窗口增加窗口监听器,可以是实现了接口的任意对象如:new //WindowAdapter(),并实现了接口的相应消息处理方法如windowClosing。 }
public void actionPerformed(ActionEvent e) //实现接口的完成动作消息处//理方法:actionPerformed,注意:参数必须有事件:ActionEvent 和 事件对//象e { int x = Integer.parseInt(field1.getText()) + Integer.parseInt(field2.getText()); field3.setText(Integer.toString(x)); } }
第十次上次作业 swing组件
实验目的:
掌握swing各组件的基本概念,功能与使用方法。 掌握窗口,标签,按钮,编辑组件,列表与组合框各组件在awt和swing中的不同 掌握窗口,标签,按钮,编辑组件,列表与组合框各组件的正确使用 掌握菜单的功能与实现 实验要求: 实验内容:
1, 请编程实现下面的功能。
import java.awt.*;
import java.awt.event.*;/*事件监听器所在包*/ public class menu {
public static void main(String[] args) {
Frame f=new Frame(\建立窗口 窗口标题*/ f.setSize(300,250);/*窗口大小*/
f.addWindowListener(new WindowAdapter() /*窗口事件监听器*/ {
public void windowClosing(WindowEvent e) /*窗口关闭按钮*/ {
System.exit(0);/*退出程序*/ } });
MenuBar mb=new MenuBar();/*定义一个菜单容器*/ Menu m1=new Menu(\定一个菜单项*/
Menu m2=new Menu(\另一个菜单项 作为级联菜单项*/ MenuItem mi1=new MenuItem(\定义菜单功能项*/ MenuItem mi2=new MenuItem(\ MenuItem mi3=new MenuItem(\
MenuShortcut ms4 = new MenuShortcut(KeyEvent.VK_X); /*定义快捷键*/ MenuItem mi4=new MenuItem(\定义菜单功能项并附加快捷键*/
MenuItem mi5=new MenuItem(\
CheckboxMenuItem mi6=new CheckboxMenuItem(\定义带复选框的菜单功能项*/
MenuItem mi7=new MenuItem(\
/*
菜单中exit 的事件监听 */
mi7.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);/*退出程序*/ } });
m2.add(mi1);/*挂载到级联菜单*/ m2.add(mi2);
m1.add(m2);/*级联菜单挂载到菜单项*/ m1.add(mi3);/*功能项加载到菜单项*/ m1.add(mi4); m1.add(mi5); m1.add(mi6); m1.add(mi7);
mb.add(m1);/*菜单项加载到菜单容器*/
f.setMenuBar(mb);/*菜单容器挂载到窗体*/ f.show();/*显示窗体*/ } }
2,编写一个简单的文本编辑器,含有三个菜单,FILE,EDIT,HELP,含有三个工具条,打开、新建和储存。
修改意见:利用第10章文件操作,为菜单项添加事件监听器,并实现接口,以完成菜单的相应功能。类似于WINDOW的“记事本”程序 源程序代码: