三、简单应用题
本题的功能是对下拉菜单项的操作,包括添加和删除。页面包括一个下拉菜单、一个文本框和两个按钮“删除”和“添加”,选中下拉菜单的一项后,可以通过“删除”按钮从下拉菜单中删除该项,在文本框中填入字符串后,单击“添加”按钮就可以将该项添加到下拉菜单中,所有信息都将显示在右侧的文本域中。
import java.awt.*;
import java.awt.event.*;
public class java2 extends java.applet.Applet imple-
ments hemListener,ActionListener
{Choice choice;
TextField text;
TextArea area;
Button add,del;
public void init() .
{choice:new Choice();
text=new TextField(8);
area:new TextArea(6,15);
choice.add("音乐天地");
choice.add("武术天地");
choice.add("象棋乐园");
choice.add("交友聊天");
add=new Button("添加");
del=new Button("删除");
add.addActionListener(this);
del.addActionListener(this);
choice.addItemListener(this);
add(choice);
add(del);add(text);add(add);add(area);
}
public void itemStateChanged(hemEvent e)
{String name= ;
int index=choice.getSelectedIndex();
area.setText("\n"+index+":"+name);
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()= =add||e.getSource()= =
text)
{String name=text.getText();
if(name.length()>0)
{choice.add(name);
choice.select(name);
area.append("\n添加"+name);
}
}
else if(e.getSource()= =del)
{choice.remove( );
area.append("\n删除"+choice.getSelectedItem
());
}
}
}
四、综合应用题
本题的功能是定义自已的组件类。窗口中排布着12
个按钮,鼠标移动按钮时,按钮背景颜色改变,用鼠标单击
按钮时,后台将显示该按钮对应的字符。
import java.awt.*;
import java.awt.event.*;
import java.util.*;
class java3 extends Frame{
String keys="l23456789*0#";
java3(){
super("java3");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(O);
}
});
setLayout(new GridLayout(4,3,6,6));
for(int i=0;i KeyButton kb=new KeyButton(keys.charAt
(i));
kb.addkeyListener(this);
kb.setBackground(Color.pink);
kb.setForeground(Color.black);
add(kb);
}
setSize(200,200);
show();
}
class KeyEventHandler extends KeyAdapter{
public void keyTyPed(KeyEvent evt){
System.out.println(evt.getChar());
}
}
public static void main(String[]args){
newjava3();
}
}
class KeyButton extends Component{
KeyListener keyListener;
boolean highlighted;
char key;
KeyButton(char k){
this.key=k;
addMouseListener(new MouseEventHandler()):
}
public void paint(Graphics g){
int W=getSize().width;
int h=getSize().height;
String s=""+key;
FontMetrics fm=g.getFontMetrics();
if(highlighted){
g.setColor(getBackground());
g.fillRoundRect(0,0,w-1,h-1,10,10);
}
g.setColor(getForeground());
g.drawRoundRect(0,0,w-1,h-1,10,10);
g.drawString(s,(w-fm.stringWidth(s))/2,
(h-fm.getHeight())/2+fm.getAscent());
}
class MouseEventHandler extends MouseAdapter{
public void mousePressed(MouseEvent evt){
if(keyListener!=null){
keyListener.keyTyped(
new KeyEvent(KeyButton.this,KeyEvent.KEY_
TYPED,
System.currentTimeMillis(),
0,KeyEvent.VK_UNDEFINED,key));
}
}
public void mouseEntered(MouseEvent evt){
highlighted=true;
repaint();
}
public void mouseExited(MouseEvent evt){
highlighted=false;
repaint();
}
}
public synchronized void addKeyListerner(KeyLis-
tener l){
keyListener=AWTEventMuhieaster.add(key-
Listener,1);
}
public synchronized void removeKeyListener(Key-
Listener l){
keyListener=AWTEventMuhicaster.remove
(keyListener,1);
}
}
2017年计算机二级《JAVA》应用练习试题.doc正在阅读:
11.9消防宣传日活动总结文案09-04
大四辅导员工作计划【三篇】03-24
2017年5月新疆二级秘书资格证报名时间10-01
2022年江苏连云港市赣榆区教育局所属学校第二次公开招聘高层次人才公告【56人】10-25
2016乡镇党委书记综治工作述职报告07-17
广东2018年12月英语四级成绩查询入口【已开通】10-13
家长速读!2022年河南商丘市宁陵县幼升小招生入学时间和招生范围公布09-05
二年级小学生新学期学习计划5篇08-12
高中作文素材及解析集锦05-30