实验名称:图形用户界面及事件处理
一、实验目的
掌握常用GUI控制组件及其事件处理。
二、实验内容
1.编写一程序,创建菜单和工具栏,如下图所示。
2.编写一程序,可以动态地改变面板上显示信息的字体,效果如图所示。
用来显示文字信息。
3.编写应用程序,界面显示效果是下图所示的通信录,窗口左边是JTree类对象,窗口右边是一个文本区,
4.编写继承自JFrame类的窗口应用程序,如下图所示:窗口的中间是一个3行、4列的表格(设置表格为不可编
辑修改);窗口的南边放置按钮“求平均分”,点击该按钮则把表格中第4列的成绩取出,求平均分后并显示在弹出
信息对话框中(JOptionPane)。窗口的北边放置两个按钮“增加行”和“修改成绩”:点击按钮“增加行”,则可在表格中
新增1行,行号自动增加,并弹出输入对话框3次,用来输入并设置新行的“姓名”、“学号”和“成绩”;点击按钮“修把指定行号的成绩修改为输入的成绩。
改成绩”,则弹出输入对话框(JOptionPane),输入要要修改的哪一行的成绩,确定后弹出输入对话框输入成绩,并
三、实验程序的分析和调试
(1)
import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Rectangle; import java.awt.Toolkit;
import java.awt.event.InputEvent; import javax.swing.*;
public class FQQJToolBar3 extends JFrame{
public FQQJToolBar3(){
init();
setTitle(\);
setIconImage(Toolkit.getDefaultToolkit().createImage(\));
}
setBounds( 400, 200, 450, 350); setResizable(true); setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//标题窗口退出的设置
void init() {
JPanel p = new JPanel(); JToolBar bar = new JToolBar();
BorderLayout bord = new BorderLayout(); p.setLayout(bord); p.add(\,bar);
JMenuBar myBar = new JMenuBar(); JMenu menu = new JMenu(\);
JMenuItem editItem1,editItem2,editItem3,editItem4;
editItem1 = new JMenuItem(\,new ImageIcon(\)); editItem2 = new JMenuItem(\,new ImageIcon(\)); editItem3 = new JMenuItem(\,new ImageIcon(\)); editItem4 = new JMenuItem(\,new ImageIcon(\));
editItem1.setAccelerator(KeyStroke.getKeyStroke('N',InputEvent.CTRL_MASK)); editItem2.setAccelerator(KeyStroke.getKeyStroke('O',InputEvent.CTRL_MASK)); editItem3.setAccelerator(KeyStroke.getKeyStroke('L',InputEvent.CTRL_MASK)); editItem4.setAccelerator(KeyStroke.getKeyStroke('X',InputEvent.CTRL_MASK)); menu.add(editItem1); menu.add(editItem2); menu.add(editItem3); menu.addSeparator(); menu.add(editItem4); myBar.add(menu); bar.add(myBar);
JButton key0 =new JButton(new ImageIcon(\)); JButton key1 =new JButton(new ImageIcon(\)); JButton key2 =new JButton(new ImageIcon(\)); JButton key3 =new JButton(new ImageIcon(\)); JButton key4 =new JButton(new ImageIcon(\)); JButton key5 =new JButton(new ImageIcon(\)); bar.add(key0); bar.add(key1); bar.add(key2); bar.add(key3); bar.add(key4); bar.add(key5);
JLabel label=new JLabel(\); bar.add(label);
JComboBox zi= new JComboBox(); zi.addItem(\); this.add(bar);
}
zi.addItem(\宋体\); zi.addItem(\黑体\); bar.add(zi);
JTextField text= new JTextField();
text.setBackground(Color.white);//文本区域的背景色 this.add(text);
p.add(\,text); this.setContentPane(p); this.setJMenuBar(myBar); }
public static void main(String[] args){
FQQJToolBar3 bar=new FQQJToolBar3(); }
(2)
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.Toolkit;
import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.KeyEvent; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.JToolBar;
public class FQQNAME extends JFrame{
JTextField text; String str=\宋体\; int index=30; public FQQNAME(){
init();
setTitle(\);
setIconImage(Toolkit.getDefaultToolkit().createImage(\)); setBounds( 400, 200, 450, 350); setResizable(true);
}
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//标题窗口退出的设置
void init() {
JPanel p = new JPanel(); JToolBar bar = new JToolBar();
BorderLayout bord = new BorderLayout(); p.setLayout(bord); p.add(\,bar);
JLabel label1=new JLabel(\); bar.add(label1);
final JComboBox zi= new JComboBox(); zi.addItem(\); zi.addItem(\); zi.addItem(\宋体\);
zi.addItemListener(new ItemListener() {
public void itemStateChanged(final ItemEvent e) { }
String str = zi.getSelectedItem().toString(); if (str.equalsIgnoreCase(\)){
text.setFont(new Font(\, Font.BOLD, index));} else if (str.equalsIgnoreCase(\))
text.setFont(new Font(\, Font.BOLD,index)); else if (str.equalsIgnoreCase(\宋体\))
text.setFont(new Font(\宋体\, Font.BOLD, index));
this.add(bar);
});
bar.add(zi);
JLabel label2=new JLabel(\); bar.add(label2);
final JComboBox ziti= new JComboBox(); for(int i=10;i<=30;i++) ziti.addItem(i); ziti.addItemListener(new ItemListener() {
public void itemStateChanged(final ItemEvent e) { }
index= Integer.parseInt(ziti.getSelectedItem().toString()); text.setFont(new Font(str, Font.BOLD, index));
});
bar.add(ziti);
text= new JTextField(\);
text.setBackground(Color.yellow);//文本区域的背景色 text.setFont(new Font(\宋体\, Font.BOLD, 30));
text.setHorizontalAlignment(JTextField.CENTER);//文字右对齐 this.add(text);
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库图形用户界面设计在线全文阅读。
相关推荐: