char[] pw=password.getPassword(); //得到密码
String message=\您的用户名:\您的密码:\String(pw); //消息字符串 JOptionPane.showMessageDialog(JPasswordFieldDemo.this, message); //显示消息
} }); cancelButton=new JButton(\退出\ //初始化退出按钮 cancelButton.addActionListener( //初始化按钮事件处理 new ActionListener(){ public void actionPerformed(ActionEvent evt){ System.exit(0); //退出程序 } }); container.add(new JLabel(\ 用户名:\ //增加组件 container.add(username); container.add(new JLabel(\ 密码:\ container.add(password); container.add(logonButton); container.add(cancelButton); setResizable(false); //不允许用户改变窗口大小 setSize(300,120); //设置窗口尺寸 setVisible(true); //设置窗口可视 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 }
public static void main(String[] args) { new JPasswordFieldDemo(); } }
实例7 虚线与实线
import java.awt.*; import javax.swing.*;
public class LineDemo extends JFrame{ public LineDemo(){ super(\实线与虚线\调用父类构造函数 setSize(300,200); //设置窗口尺寸 setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 } public void paint(Graphics g){ //绘制组件方法 Graphics2D g2=(Graphics2D)g; //得到2D图形 Dimension dim = this.getSize(); //得到组件尺寸 g2.setColor(Color.white); //设置绘制颜色为白色 g2.fillRect(0, 0, dim.width, dim.height); //填充整个组件 g2.setColor(Color.black); //设置绘制颜色 g2.drawLine(40,160,280,160); //绘制实线 g2.drawLine(40,160,40,40); g2.drawString(\绘制字符串 g2.drawString(\ g2.drawString(\ float[] dash={5,5}; //短划线图案 BasicStroke bs = new BasicStroke(1,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER, 10.0f,dash,0.0f); //实例化新画刷 g2.setStroke(bs); //设置新的画刷 g2.drawLine(40,160,100,120); //用新的画刷绘制虚线 g2.drawLine(100,120,160,120); g2.drawLine(160,120,280,40); } public static void main(String[] args){ new LineDemo(); } }
实例8 显示多种字体
import java.awt.*; import javax.swing.*;
//显示多种字体,用JLabel实现
public class FontDemo extends JFrame {
public FontDemo() {
super(\显示多种字体\ //调用父类构造函数
Font[] fonts={new Font(\
new Font(\ new Font(\宋体\ new Font(\黑体\
new Font(\ }; //字体数组
String[] text={\Demo\斜体,24号\宋体字示例\黑体\,粗体,斜体,18号\ //显示的文本
Container container=getContentPane(); //得到容器
Box boxLayout=Box.createVerticalBox(); //创建一个垂直排列的Box
boxLayout.setBorder(BorderFactory.createEmptyBorder(10,20,5,5)); //设置边界 container.add(boxLayout); //增加组件到容器上 for (int i=0;i<5;i++){
JLabel fontLabel=new JLabel(); //得到一个JLabel的实例 fontLabel.setFont(fonts[i]); //设置字体 fontLabel.setText(text[i]); //设置显示文本
boxLayout.add(fontLabel); //增加组件到Box上 }
setSize(380,180); //设置窗口尺寸 setVisible(true); //设置窗口可ub视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 }
public static void main(String args[]){ new FontDemo(); } }
实例9 多种风格的窗口
import java.awt.*;
import java.awt.event.*; import javax.swing.*;
//显示多种风格的窗口
public class LookAndFeelDemo extends JFrame {
public LookAndFeelDemo(){
super(\多种风格的窗口\ //调用父类构造函数
Container container=getContentPane(); //得到容器 JMenu menuTheme=new JMenu(\窗口风格\ //初始化菜单
JMenuItem itemNative=new JMenuItem(\系统平台风格\ //初始化菜单项 JMenuItem itemMotif=new JMenuItem(\风格\ JMenuItem itemMetal=new JMenuItem(\跨平台风格\ menuTheme.add(itemNative); //增加菜单项 menuTheme.add(itemMotif); menuTheme.add(itemMetal);
itemNative.addActionListener(new ActionListener(){ //菜单项事件处理 public void actionPerformed(ActionEvent event){ changeLookAndFeel(\ //调用方法,改变窗口风格 } });
itemMotif.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ changeLookAndFeel(\ } });
itemMetal.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ changeLookAndFeel(\ } });
JMenuBar menuBar=new JMenuBar(); //初始化菜单栏 menuBar.add(menuTheme); //增加菜单到菜单栏 setJMenuBar(menuBar); //设置菜单
JPanel panel=new JPanel(); //初始化一个JPanel
panel.setBorder(BorderFactory.createTitledBorder(\组件样式\ //设置边界
panel.add(new JTextField(\文本框:Look and feel测试 \ //增加组件到panel上 panel.add(new JCheckBox(\粗体\ panel.add(new JCheckBox(\斜体\ panel.add(new JCheckBox(\下划线\ panel.add(new JButton(\确定\ panel.add(new JButton(\退出\
container.add(panel); //增加panel到容器上
setSize(220,200); //设置窗口尺寸 setVisible(true); //设置窗口可见
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 }
//改变窗口样式
public void changeLookAndFeel(String type){ try{ if (type.equals(\ //判断来自于哪个菜单项 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); //设置界面样式 } else if (type.equals(\ UIManager.setLookAndFeel(\ } else if (type.equals(\ UIManager.getCrossPlatformLookAndFeelClassName()); } javax.swing.SwingUtilities.updateComponentTreeUI(this); //更新界面 } catch(Exception ex){ //捕捉错误 ex.printStackTrace(); //输出错误 } }
public static void main(String[] args){ new LookAndFeelDemo(); } }
实例10右键弹出菜单
import java.awt.*;
import java.awt.event.*; import javax.swing.*;
//左键弹出菜单
public class JPopMenuDemo extends JFrame { JRadioButtonMenuItem items[]; //菜单项
Color[] colors={Color.blue,Color.pink,Color.yellow,Color.red,Color.orange}; //颜色数组 JPopupMenu popupMenu; //弹出菜单
public JPopMenuDemo() {
super( \右键弹出菜单\调用父类构造函数