JAVA实验:图形用户界面编程
实验目的(分掌握、熟悉、了解三个层次):
1、 了解GUI开发的相关原理和技巧
2、 掌握AWT事件处理、布局管理器
3、 熟悉Swing组件的使用
第一题
package com.test;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* 教材P334第五题:1
* @author luolei
*
*/
public class Demo1 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public Demo1() {
this.setTitle("教材P334第五题:1");
final JLabel label = new JLabel("此处显示鼠标右键点击的坐标");
label.setOpaque(true);
this.add(label, BorderLayout.NORTH);
this.setSize(500, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getButton() == e.BUTTON3) {
int x = e.getX();
int y = e.getY();
String banner = "鼠标当前点击位置的坐标是" + x + "," + y;
label.setText(banner);
}
}
});
this.setVisible(true);
}
public static void main(String[] args) {
new Demo1();
}
}
第二题
package com.test;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
* 教材P334第五题:2
* @author luolei
*
*/
public class Demo2 extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
JLabel lable1 = new JLabel("兴趣:");
JCheckBox yuCheck = new JCheckBox("羽毛球");
JCheckBox pingCheck = new JCheckBox("乒乓球");
JCheckBox songCheck = new JCheckBox("唱歌");
JLabel lable2 = new JLabel("性别:");
/**
* 定义按钮组
*/
ButtonGroup group=new ButtonGroup();
JRadioButton nanButton = new JRadioButton("男");
JRadioButton nvButton = new JRadioButton("女");
JTextArea textArea = new JTextArea(10, 40);
public Demo2() {
this.setLayout(new BorderLayout());
this.setSize(500, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel jPanelNorth = new JPanel();
jPanelNorth.add(lable1);
jPanelNorth.add(yuCheck);
jPanelNorth.add(pingCheck);
jPanelNorth.add(songCheck);
jPanelNorth.add(lable2);
jPanelNorth.add(nanButton);
jPanelNorth.add(nvButton);
this.add(jPanelNorth, BorderLayout.NORTH);
group.add(nanButton);
group.add(nvButton);
JScrollPane scrollPane = new JScrollPane(textArea);
this.add(scrollPane, BorderLayout.CENTER);
yuCheck.addActionListener(this);
pingCheck.addActionListener(this);
songCheck.addActionListener(this);
nanButton.addActionListener(this);
nvButton.addActionListener(this);
this.setVisible(true);
}
public static void main(String args[]) {
new Demo2();
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("actionPerformed");
if(e.getSource() == yuCheck){
textArea.append(yuCheck.getText()+"、");
}else if(e.getSource() == pingCheck){
textArea.append(pingCheck.getText()+"、");
}else if(e.getSource() == songCheck){
textArea.append(songCheck.getText()+"、");
}else if(e.getSource() == nanButton){
textArea.append(nanButton.getText()+"、");
}else if(e.getSource() == nvButton){
textArea.append(nvButton.getText()+"、");
}
}
}