java实例应用(2)

2019-05-24 20:21

Action sendMessage = new AbstractAction() { //发送消息Action public void actionPerformed(ActionEvent e){ replaceMessage(); //更新消息显示框 } }; jtaInput.getInputMap().put(KeyStroke.getKeyStroke(\ //键盘事件处理,按受回车事件 jtaInput.getActionMap().put(\ //回车时的处理(调用发送消息Action) jbSend.setAction(sendMessage); //设置命令为发送消息 jbSend.setText(\发送\ //设置按钮文本 this.setLocation(300,300); setSize(400,200); //设置窗口尺寸 setVisible(true); //设置窗口可视 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 } private void replaceMessage(){ String message=jtfName.getText()+\ //得到消息文本 jtaChat.insert(message,jtaChat.getDocument().getLength()); //插入消息到显示域未端 jtaInput.setText(\ //清空输入消息域 }

public static void main(String[] args){ new ActionDemo(); } }

实例4 彩色列表框

import java.awt.*; import javax.swing.*;

import javax.swing.border.*;

//彩色列表框的Renderer,须实现接口ListCellRenderer

public class ColorRenderer extends JLabel implements ListCellRenderer { //实现接口中的getListCellRendererComponent方法

public Component getListCellRendererComponent(JList list, Object obj, int row, boolean sel, boolean hasFocus) { if (hasFocus || sel) { //设置选中时的边界

setBorder(new MatteBorder(2, 10, 2, 10, list.getSelectionBackground())); }

else { //设置未选中时的边界

setBorder(new MatteBorder(2, 10, 2, 10, list.getBackground())); }

Color c=(Color)obj; //得到该行的颜色值 setForeground(c); //设置颜色 setText(c.toString()); //设置文本 return this; } }

import java.awt.*; import javax.swing.*;

import javax.swing.event.*;

//彩色列表框示例

public class JListDemo extends JFrame{ Container container; //容器 JTextField selectedText; //文本域,反映选择的颜色值 JList list; //列表框 JPanel selectedColor; //Panel,以选择的颜色为背景绘制

public JListDemo(){ //构造函数

container=getContentPane(); //得到容器

container.setLayout(new BorderLayout()); //设置布局管理器,不是必须的,Container默认为BorderLayout

Color[]

colors={Color.orange,Color.pink,Color.red,Color.black,Color.blue,Color.cyan,Color.green,Color.lightGray}; //列表框内容 list=new JList(colors); JScrollPane scrollPane = new JScrollPane(list); //以list初始化滚动窗格 selectedText=new JTextField(20); selectedColor=new JPanel(); selectedColor.setPreferredSize(new Dimension(20,20)); //设置panel的首选尺寸 container.add(selectedText,BorderLayout.NORTH); //增加组件到容器上

container.add(scrollPane,BorderLayout.CENTER); container.add(selectedColor,BorderLayout.SOUTH);

list.setCellRenderer(new ColorRenderer()); //设置Renderer list.addListSelectionListener( //事件处理 new ListSelectionListener(){

public void valueChanged(ListSelectionEvent event){ //选择值有改变 Color c=(Color)list.getSelectedValue(); //得到选择的颜色

selectedText.setText(\选择颜色:\R=\G =\B=\ //设置文本域文本

selectedColor.setBackground(c); //设置panel的颜色 } });

setSize(300,200); //设置窗口尺寸 setVisible(true); //设置窗口可视

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 }

public static void main(String[] args){ new JListDemo(); } }

实例5 圆形的按钮

import java.awt.*;

import javax.swing.*;

public class RoundButton extends JButton {

public RoundButton(String label) {

super(label); //调用父类构造函数

setContentAreaFilled(false); //不自行绘制按钮背景 }

//绘制圆和标签

protected void paintComponent(Graphics g) { if (getModel().isArmed()) { //鼠标点击时

g.setColor(Color.lightGray); //颜色为灰色 } else {

g.setColor(getBackground()); //置按钮颜色 }

g.fillOval(0, 0, getSize().width, getSize().height); //绘制圆 super.paintComponent(g); //调用父类函数,绘制其余部分 }

//绘制边框

protected void paintBorder(Graphics g) {

g.setColor(getForeground()); //设置边框颜色

g.drawOval(0, 0, getSize().width-1, getSize().height-1); //在边界上绘制一个椭圆 } }

import java.awt.*;

import java.awt.event.*; import javax.swing.*;

public class RoundButtonDemo extends JFrame{ private int clickCount=0; //记录安钮的点击次数 private JButton button1; private JButton button2; public RoundButtonDemo() { button1 = new RoundButton(\这是一个圆形按钮\ //初始化按钮一

Dimension dim=button1.getPreferredSize(); //得到按钮一的最佳尺寸

double maxsize=Math.max(dim.getHeight(),dim.getWidth()); //得到长宽中的最大值 dim.setSize(maxsize,maxsize); //更改长宽为长宽中的最大值 button1.setPreferredSize(dim); //设置最佳尺寸

button2 = new RoundButton(\点击了: \次\ //初始化按钮二 button1.setBackground(Color.blue); //设置按钮的背景颜色 button2.setBackground(Color.pink);

getContentPane().add(button1); //增加组件 getContentPane().add(button2);

getContentPane().setLayout(new FlowLayout()); //设置布局管理器

button2.addActionListener(new ActionListener(){ //铵钮二的事件处理 public void actionPerformed(ActionEvent e){ clickCount++; //增加一次点击数

button2.setText(\点击了: \次\ //重新设置按钮二的标签 } });

setSize(300, 200); //设置窗口尺寸 setVisible(true); //设置窗口可视

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 }

public static void main(String[] args) { new RoundButtonDemo(); } }

实例6 密码验证框

import java.awt.*;

import java.awt.event.*; import javax.swing.*;

public class JPasswordFieldDemo extends JFrame { JTextField username; //用户名输入框 JPasswordField password; //密码输入框 JButton logonButton; //登录按钮 JButton cancelButton; //退出按钮

public JPasswordFieldDemo() { //构造函数

super(\演示\ //调用父类构造函数 Container container=getContentPane(); //得到容器

container.setLayout(new GridLayout(3, 2, 2, 2)); //设置布局管理器

username=new JTextField(16); //初始化文本输入框,宽度为16列

password=new JPasswordField(16); //初始化密码输入框,宽度为16列 logonButton=new JButton(\登录\ //初始化登录按钮 logonButton.addActionListener( //登录按钮事件处理 new ActionListener(){

public void actionPerformed(ActionEvent evt){


java实例应用(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:软件项目管理实验指导书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: