Java语言程序设计(梁勇)第八版
第十二章编程习题:P347,12.8
*12.8 (Swing通用特性)显示包含六个标签的框架。将标签背景颜色设置为白色。将标签前景色分别设置为黑色、蓝色、青色、绿色、洋红色和橙色,设置每个标签的边界为黄色的线边界。设置每个标签的字体为TimesRoman、加粗、20像素。将每个标签的文本和工具提示文本都设置为它的前最色的名字。
package Test;
import javax.swing.*;
import java.awt.*;
public class TestFrame extends JFrame{
public TestFrame(){
setLayout(new GridLayout(2,3));
JLabel label1=new JLabel("balck");
label1.setForeground(Color.black);
label1.setBorder(BorderFactory.createLineBorder(Color.yellow));
label1.setOpaque(true);
label1.setBackground(Color.white);
label1.setFont(new Font("TimesRoman", Font.BOLD,20));
label1.setToolTipText("black");
add(label1);
JLabel label2=new JLabel("blue");
label2.setForeground(Color.blue);
label2.setBorder(BorderFactory.createLineBorder(Color.yellow));
label2.setOpaque(true);
label2.setBackground(Color.white);
label2.setFont(new Font("TimesRoman", Font.BOLD,20));
label2.setToolTipText("blue");
add(label2);
JLabel label3=new JLabel("cyan");
label3.setForeground(Color.cyan);
label3.setOpaque(true);
label3.setBackground(Color.white);
label3.setBorder(BorderFactory.createLineBorder(Color.yellow));
label3.setFont(new Font("TimesRoman", Font.BOLD,20));
label3.setToolTipText("cyan");
add(label3);
JLabel label4=new JLabel("green");
label4.setForeground(Color.green);
label4.setOpaque(true);
label4.setBackground(Color.white);
label4.setFont(new Font("TimesRoman", Font.BOLD,20));
label4.setToolTipTex
t("green");
label4.setBorder(BorderFactory.createLineBorder(Color.yellow));
add(label4);
JLabel label5=new JLabel("magenta");
label5.setForeground(Color.magenta);
label5.setOpaque(true);
label5.setBackground(Color.white);
label5.setFont(new Font("TimesRoman", Font.BOLD,20));
label5.setBorder(BorderFactory.createLineBorder(Color.yellow));
label5.setToolTipText("magenta");
add(label5);
JLabel label6=new JLabel("orange");
label6.setForeground(Color.orange);
label6.setOpaque(true);
label6.setBackground(Color.white);
label6.setFont(new Font("TimesRoman", Font.BOLD,20));
label6.setToolTipText("orange");
label6.setBorder(BorderFactory.createLineBorder(Color.yellow));
add(label6);
}
public static void main(String[] args) {
TestFrame frame=new TestFrame();
frame.setTitle("Exercise12_8");
frame.setSize(350,250);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
通过身体,我们可以知道要用到以下若干个方法
setLayout(new GridLayout(2,3));
布局格式为网格布局,设置一个6个格子的2X3的网格。
JLabel label1=new JLabel("balck");
设置一个标签,显示文本名字。
label1.setForeground(Color.black);
设置标签的前景颜色,所谓的前景颜色一般来说就是标签框的文本颜色。
label1.setOpaque(true);
设置标签的不透明度,因为默认情况下标签是透明的,如果直接设置标签的背景颜色是看不出来的。
label1.setBackground(Color.white);
设置标签的背景颜色。
label1.setFont(new Font("TimesRoman", Font.BOLD,20));
设置标签的字体,括号内的参数分别代表字体、风格、大小。
label1.setToolTipText("black");
设置工具文本,就是鼠标碰一下就会出现的那个文本。
label1.setBorder(BorderFactory.createLineBorder(Color.yellow));
设置当前标签的边框颜色。
add(label1);
把当前标签放入框架内。