//实验5
/*
*实验内容:综合例子,把所有基本组件放在同一个窗口里显示出来
*基本组件包括:标签组件、按钮组件、文本框组件、文本区组件、单选按钮组件
*复选框组件、下拉列表组件
*实现组件的基本功能,程序运行结果如图
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Font.*;
import java.awt.Color;
public class JF extends JFrame
{ //定义7个面板分别存放7个不同组件
private JPanel p1=new JPanel(); //标签组件面板
private JPanel p2=new JPanel(); //按钮组件面板
private JPanel p3=new JPanel(); //文本框组件面板
private JPanel p4=new JPanel(); //文本区组件面板
private JPanel p5=new JPanel(); //单选按钮组件面板
private JPanel PColor =new JPanel(); //创建一个用来显示颜色的面板
private JPanel PButton = new JPanel(); //创建存放单选按钮的面板
private JRadioButton red = new JRadioButton("red",true);//创建单选按钮选项
private JRadioButton green=new JRadioButton("green");
private JRadioButton blue = new JRadioButton("blue");
private JPanel p6= new JPanel(); //复选框组件面板
private JLabel label2 = new JLabel("请注意观察宋体文字的变化");
private JCheckBox b = new JCheckBox("粗体"); //创建复选框
private JCheckBox i = new JCheckBox("斜体");
private JPanel p7 =new JPanel(); //下拉列表组件面板
private JComboBox lbk;
private JLabel label3;
private String names[]={"计算机学院","珠宝学院","外语学院","经贸管理学院"};
public JF()
{
super("综合例子"); //调用父类将窗口命名为"综合例子"
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定窗口对象关闭动作
Container c=getContentPane(); //创建内容面板对象
c.setLayout(new GridLayout(4,2,0,0));//设置面板布局
//添加标签组件
JLabel label1 = new JLabel("This is a Label"); //使用文本创建一个标签对象
label1.setFont(new Font("Serif",Font.BOLD,20));
label1.setToolTipText("这是标签对象"); //设置标签的工具提示
p1.add(label1); //添加标签到面板
p1.setBackground(Color.YELLOW); //设置面板背景颜色
c.add(p1);
//添加组件
JButton button1=new JButton("button1"); //创建按钮对象
button1.setFont(new Font("Serif",Font.PLAIN,20));
ImageIcon img1 = new ImageIcon("bird.gif");
JButton button2 = new JButton("button2",img1);
button2.setRolloverIcon(img1);
button2.setFont(new Font("Serif",Font.PLAIN,14));
//为按钮组件注册监听器
BHandler bh = new BHandler();
button1.addActionListener(bh);
button2.addActionListener(bh);
p2.add(button1);
p2.add(button2);
p2.setBackground(Color.green);
c.add(p2); //添加到内容面板
//添加文本框组件
JTextField t1=new JTextField();
JTextField t2=new JTextField();
JTextField t3=new JTextField();
JPasswordField k1=new JPasswordField();
p3.setLayout(new FlowLayout());
p3.setBackground(Color.pink);
t1=new JTextField(10);
t2=new JTextField("Input the test",20);
t2.setFont(new Font("Serif",Font.PLAIN,12));
t3=new JTextField("Can not edit",20);
t3.setFont(new Font("Serif",Font.PLAIN,12));
t3.setEditable(false); //设置为不可编辑
k1=new JPasswordField("123456",15);
p3.add(t1); p3.add(t2); p3.add(t3);
p3.add(k1); c.add(p3);
//添加文本区组件
p4.setBackground(Color.white);
p4.setLayout(new FlowLayout());
JTextArea ta1=new JTextArea(2,8);
JTextArea ta2=new JTextArea(5,10);
ta1.setFont(new Font("Serif",Font.PLAIN,12));
ta2.setFont(new Font("Serif",Font.PLAIN,12));
ta1.setText("JTextArea1");
ta2.setText("JTextArea2");
ta2.setTabSize(10); //设置【Tab】键跳离方法
ta2.setLineWrap(true); //自动换行功能方法
ta2.setWrapStyleWord(true);//断行不断字的功能方法
p4.add(new JScrollPane(ta1));
p4.add(new JScrollPane(ta2));
c.add(p4);
//添加单选按钮组件
ButtonGroup buttonGroup = new ButtonGroup();
red.setFont(new Font("Serif",Font.PLAIN,14));
green.setFont(new Font("Serif",Font.PLAIN,14));
blue.setFont(new Font("Serif",Font.PLAIN,14));
PColor.setBackground(Color.red); //设置默认背景
buttonGroup.add(red); buttonGroup.add(green); //添加选项按钮到组中
buttonGroup.add(blue);
PButton.add(red); PButton.add(green);
PButton.add(blue);
RHandler rh=new RHandler(); //创建监听器
red.addItemListener(rh); blue.addItemListener(rh);//注册监听器
green.addItemListener(rh);
p5.setLayout(new BorderLayout());
p5.add(PColor,BorderLayout.CENTER); //设置布局
p5.add(PButton,BorderLayout.SOUTH);
c.add(p5);
//添加复选框组件
p6.setLayout(new FlowLayout());
label2.setFont(new Font("Serif",Font.PLAIN,35));
p6.add(label2);
b.setFont(new Font("Serif",Font.PLAIN,20));
i.setFont(new Font("Serif",Font.PLAIN,20));
CBHandler ch=new CBHandler();
b.addItemListener(ch); i.addItemListener(ch);
p6.add(b); p6.add(i);
c.add(p6);
//添加下拉列表组件
p7.setBackground(Color.cyan);
lbk = new JComboBox(names); //创建下拉列表对象
lbk.setMaximumRowCount(4); //设置下拉列表所能显示的列表项最大数目
lbk.setSelectedIndex(0); //设置默认的选项
lbk.setFont(new Font("Serif",Font.PLAIN,15)); //设置字体
lbk.addItemListener(new lbHandler()); //注册监听器
label3 = new JLabel("你选择了:计算机学院");
label3.setFont(new Font("Serif",Font.PLAIN,20));
p7.add(lbk,BorderLayout.NORTH);
p7.add(label3,BorderLayout.CENTER);
c.add(p7);
setSize(600,600); //设置窗口大小
setVisible(true); //指定窗口可见
}
public static void main(String[] args)
{
JF d=new JF(); //创建JF类对象d创建窗口
}
//按钮组件的事件处理
private class BHandler implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
JOptionPane.showMessageDialog(JF.this,"你按了:"+event.
getActionCommand());
}
}
//单选按钮组件的事件处理
private class RHandler implements ItemListener
{
public void itemStateChanged(ItemEvent event)
{
if(red.isSelected())
PColor.setBackground(Color.red);
else if(green.isSelected())
PColor.setBackground(Color.GREEN);
else PColor.setBackground(Color.BLUE);
}
}
//复选框组件的事件处理
private class CBHandler implements ItemListener
{
private int vb=Font.PLAIN;
private int vi=Font.PLAIN;
public void itemStateChanged(ItemEvent e)
{
if(e.getSource()==b)
vb=b.isSelected()?Font.BOLD:Font.PLAIN;
if(e.getSource()==i)
vi=i.isSelected()?Font.ITALIC:Font.PLAIN;
label2.setFont(new Font("Serif",vb+vi,20));
}
}
//下拉列表组件的事件处理
private class lbHandler implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
if(e.getStateChange()==e.SELECTED)
{
label3.setText("你选择了:"+names[lbk.getSelectedIndex()]);
}
}
}
}
分享到:
相关推荐
java图形用户界面的例子,可以参考一下!!
Java+创建图形用户界面例子集源代码学习
Java 创建图形用户界面例子集 Java 创建图形用户界面例子集
Java+创建图形用户界面例子集源码整理
java(swing,awt)图形用户界面编程100多个案例,里面的例子好好学学
绍Java图形用户界面:高级组件综合例子
看到多数人提到 Java 就以为是网络开发,其实不是这样的,Java 也可以开发应用程序,而且可以开发出漂亮的图形用户界面的应用程序,因此,我写下这篇文章,希望能带你进入 Java 图形用户界面设计之门。
这里面有这本教材所举例的所有例子 后面更有俄罗斯方块等案例 是一个不可多得的 java图形界面的教材
第一章 Java程序设计概述,第二章 Java程序设计技术,第三章 Java的面向对象程序设计,第四章 Java常用类,第五章 Java异常处理,第六章 Java图形用户界面,第七章 Swing组件,第八章 Java对话框,第九章 输入输出流...
第3篇 图形用户界面 第10章 Java Swing(上) 第11章 Java Swing(下) 第12章 Applet网页小程序 第13章 图形编程 第14章 多媒体编程 第4篇 Java高级技术 第15章 字符串处理 第16章 I/O输入输出流 第17章 线程 第18...
Java课程设计:计算器例子源码 文档,可修改成你的毕业论文吧,注释和文档都写的很好。用Java制作计算器的实例,运用了...制作了计算器的用户界面。通过消息响应技术,实现响应用户的操作的功能,最终实现人机交互。
内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理 这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行...
关于java图形用户界面的简单例子,适合初学java者学习用,是基本的java编程
内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理 这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行...
内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理 这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行...
内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理 这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行...
内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理 这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行...
内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理 这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行...
Java24点游戏逼真图形版代码.rar JavaScript万年历.rar Java二进制IO类与文件复制操作实例.rar Java从压缩包中提取文件.rar Java从网络取得文件.rar Java仓库管理系统,Access数据库.rar Java仿Vista界面风格的登录...