练习1:设置标签的显示字体、大小背景及颜色,效果如下图
package Test;
import java.awt.*;
import javax.swing.*;
public class SetFont extends JFrame{
public static void main(String[] args) {
// 创建并设置JFrame容器窗口
JFrame frame = new JFrame("JFrameTest");
// 设置关闭窗口时的默认操作//使用 System exit 方法退出应用程序
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗口尺寸
frame.setSize(550, 550);
//添加文本
JLabel label = new JLabel("MLND",JLabel.CENTER);
//设置斜体和加粗
label.setFont(new Font("宋体",Font.BOLD+Font.ITALIC,80));
//将文本放入frame中
frame.getContentPane().add(label);
// 展示JFrame容器窗口
frame.setVisible(true);
}
}
练习2:设置GridLayout用于加入按钮,效果如下图。
package Test;
import java.awt.*;
import javax.swing.*;
public class GridLayoutTest {
private static void createAndShowGUI() {
// 创建一个名为GridLayout的窗体
JFrame f = new JFrame("GridLayout");
f.setLayout(new GridLayout(3,5)); // 设置该窗体为3*5的网格
f.setSize(500, 300); // 设置窗体大小
f.setLocation(400, 300);
// 下面的代码是循环添加8个按钮组件到GridLayout容器中
for (int i = 1; i < 15; i++) {
JButton btn = new JButton("按钮-" + i);
f.add(btn);
}
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
// 使用SwingUtilities工具类调用createAndShowGUI()方法并显示GUI程序
createAndShowGUI();
}
}
练习3:用户登录系统,效果图如下。如果输入正确,弹出窗口显示“欢迎登录!”,否则显示“用户名或密码有误!”
package Test;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class TableTest {
public static void main(String[] args) {
JFrame f = new JFrame();
Object[][] playerInfo = {
// 创建表格中的数据
{ "李兴华", new Integer(20),"女", new Integer(70), new Integer(80),new Integer(150),
new Boolean(true) },
{ "李康", new Integer(21),"男",new Integer(50), new Integer(40),new Integer(90),
new Boolean(false) }
};
// 创建表格中的横标题
String[] Names = { "姓名", "年龄", "性别", "数学成绩", "英语成绩" ,"总分","是否及格"};
// 以Names和playerInfo为参数,创建一个表格
JTable table = new JTable(playerInfo, Names);
// 设置此表视图的首选大小
table.setPreferredScrollableViewportSize(new Dimension(550, 100));
// 将表格加入到滚动条组件中
JScrollPane scrollPane = new JScrollPane(table);
f.getContentPane().add(scrollPane, BorderLayout.CENTER);
// 再将滚动条组件添加到中间容器中
f.setTitle("表格测试窗口");
f.pack();
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
练习4:建立表格,效果图如下。
package Test;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class TableTest {
public static void main(String[] args) {
JFrame f = new JFrame();
Object[][] playerInfo = {
// 创建表格中的数据
{ "李兴华", new Integer(20),"女", new Integer(70), new Integer(80),new Integer(150),
new Boolean(true) },
{ "李康", new Integer(21),"男",new Integer(50), new Integer(40),new Integer(90),
new Boolean(false) }
};
// 创建表格中的横标题
String[] Names = { "姓名", "年龄", "性别", "数学成绩", "英语成绩" ,"总分","是否及格"};
// 以Names和playerInfo为参数,创建一个表格
JTable table = new JTable(playerInfo, Names);
// 设置此表视图的首选大小
table.setPreferredScrollableViewportSize(new Dimension(550, 100));
// 将表格加入到滚动条组件中
JScrollPane scrollPane = new JScrollPane(table);
f.getContentPane().add(scrollPane, BorderLayout.CENTER);
// 再将滚动条组件添加到中间容器中
f.setTitle("表格测试窗口");
f.pack();
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
练习5:编写程序,在文本框中输入一个浮点型华氏温度,根据下面的公式将其转化成摄氏温度。效果图如下。 摄氏温度=(华氏温度-32)*5/9
package Test;
import java.awt.GridLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JPanel;
class ActionHandle{
JFrame frame = new JFrame("温度转换");
Container cont = frame.getContentPane();
JPanel pan = new JPanel(new GridLayout(2,2));
JPanel pan1 = new JPanel(new GridLayout(2,1,3,10));
JTextField huashi = new JTextField(30);
JTextField sheshi = new JTextField("=(华氏-32)*5/9",20);
JLabel huashiLab = new JLabel("请输入华氏温度值:");
JLabel sheshiLab = new JLabel("转换后的摄氏温度值:");
JButton but = new JButton("开始转换");
public ActionHandle() {
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent arg0) {
System.exit(1);
}
});
but.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource() == but) {
String temp = ""+(Float.parseFloat(huashi.getText())-32)*5/9;
sheshi.setText(temp);
}
}
});
pan.add(huashiLab);
pan.add(huashi);
pan.add(sheshiLab);
pan.add(sheshi);
pan1.add(pan);
pan1.add(but);
cont.add(pan1);
frame.setSize(400,150);
frame.setLocation(300,200);
frame.pack();
frame.setVisible(true);
}
}
public class Temper {
public static void main(String[] args) {
// TODO Auto-generated method stub
ActionHandle ahe = new ActionHandle();
}
}
练习6:编写程序,在文本框中输入英文字母,再根据大写字母按钮和小写字母按钮将输入的内容进行转换,并将转换的内容显示在标签上。效果图如下。
package Test;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
class CharConvert{
private JFrame frame = new JFrame("字母大小写转换");
private Container cont = frame.getContentPane();
private JPanel pan = new JPanel(new GridLayout(3,2));
private JTextField sourceText = new JTextField(30);
private JTextField targetText = new JTextField();
private JLabel toUpperLabel = new JLabel("请输入一串英文字母");
private JLabel toLowerLabel = new JLabel("转换后的结果是:");
private JButton toUpperBut = new JButton("大写字母按钮");
private JButton toLowerBut = new JButton("小写字母按钮");
public CharConvert() {
toUpperBut.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource() == toUpperBut) {
String temp = sourceText.getText().toUpperCase();
targetText.setText(temp);
}
}
});
toLowerBut.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource() == toLowerBut) {
String temp = sourceText.getText().toLowerCase();
targetText.setText(temp);
}
}
});
pan.add(toUpperLabel);
pan.add(sourceText);
pan.add(toLowerLabel);
pan.add(targetText);
pan.add(toUpperBut);
pan.add(toLowerBut);
cont.add(pan);
frame.setSize(400,150);
frame.setLocation(300, 200);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
public class Letter {
public static void main(String[] args) {
// TODO Auto-generated method stub
CharConvert cct = new CharConvert();
}
}