三、简单应用题
本题的功能是对下拉菜单项的操作,包括添加和删除。页面包括一个下拉菜单、一个文本框和两个按钮“删除”和“添加”,选中下拉菜单的一项后,可以通过“删除”按钮从下拉菜单中删除该项,在文本框中填入字符串后,单击“添加”按钮就可以将该项添加到下拉菜单中,所有信息都将显示在右侧的文本域中。
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正在阅读:
2017年中考生物复习备考知识点(5)03-15
2019年甘肃高考报名工作要求已公布08-25
2017年广东中山市板芙镇政务办招聘工作人员【3名】02-26
青海海北2021年4月自学考试准考证打印时间(4月2日9时-4月11日15时)06-30
我最敬佩的人作文450字09-25
精选小学寒假日记五篇09-20
2019浙江宁波市鄞州区卫生健康局事业编制工作人员招聘拟聘公示10-22
华为自带的智能遥控在哪恢复(图文)06-04
小班科学探究活动教案:罐子里的歌声05-12