利用Swing做的简单的习题(一)
题目:
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);
把当前标签放入框架内。
上一篇:
IDEA上Java项目控制台中文乱码