这篇文章给大家演示一下Swing中的普通控件的用法,为了方面大家入门,我们的示例将会尽可能的简化。Swing中的普通控件包括JLabel(文本标签),JTextField(单行文本输入框), JPasswordField(密码输入框),JRadioButton(单选框),JCheckBox(复选框),JComboBox(下拉列表框),JList(普通列表框)JTextArea(多行文本输入框),JButton(普通按钮)。为了增加趣味性,也把JFileChooserJColorChooser加上了。运行效果如下:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Swing普通控件

代码如下:

package org.leno.swing.demo1;

import java.awt.*;

import javax.swing.*;

/**

* @author leno

* @version 1.0

* 一个例子程序,让大家系统地了解Swing中一些普通控件的基本用法

* http://blog.csdn.net/lenotang 转载请保留相关出处信息!

*/

public class DemoPlainComponent {

public static void main(String[] args) {

JFrame.setDefaultLookAndFeelDecorated(true);

//创建一个窗体

JFrame jFrame = new JFrame("示例普通Swing控件");

//设置窗体的位置和大小

jFrame.setLocation(100, 100);

jFrame.setSize(700, 600);

//设置手动布局,这样意味着放在jFrame内容面板上的组件都要指定自身的位置和大小,否则将不会显示。JFrame默认布局方式为BorderLayout

jFrame.setLayout(null);

//设置窗体的关闭行为

jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//获得窗体的内容窗格

Container contentPane = jFrame.getContentPane();

//创建一个文本标签并指定自身在容器中的相对位置和大小

JLabel jLabel = new JLabel("姓名:");

jLabel.setBounds(20, 20, 30, 20);

JTextField jTextField = new JTextField("无名氏");

jTextField.setBounds(60, 20, 120, 20);

JLabel jLabel2 = new JLabel("密码:");

jLabel2.setBounds(190, 20, 30, 20);

JPasswordField jPasswordField = new JPasswordField("看不见");

jPasswordField.setBounds(230, 20, 120, 20);

JLabel jLabel3 = new JLabel("偶像:");

jLabel3.setBounds(360, 20, 30, 20);

Object[] stars = new Object[]{"刘德华","张学友","郭富城","黎明"};

JComboBox jComboBox = new JComboBox(stars);

jComboBox.setBounds(400, 20, 120, 20);

JLabel jLabel4 = new JLabel("性别:");

jLabel4.setBounds(20, 50, 30, 20);

ButtonGroup buttonGroup = new ButtonGroup();

JRadioButton jRadioButton1 = new JRadioButton("",true);

jRadioButton1.setBounds(60, 50, 40, 20);

JRadioButton jRadioButton2 = new JRadioButton("",false);

jRadioButton2.setBounds(60, 80, 40, 20);

buttonGroup.add(jRadioButton1);

buttonGroup.add(jRadioButton2);

JLabel jLabel5 = new JLabel("格言:");

jLabel5.setBounds(190, 50, 30, 20);

JTextArea jTextArea = new JTextArea(5,10);

jTextArea.setBorder(BorderFactory.createMatteBorder (2,2,2,2, Color.blue));

jTextArea.setLineWrap (true);//设置为禁止自动换行,初始值为false.

jTextArea.setWrapStyleWord (true);

jTextArea.setBackground (Color.white);//文本区背景

jTextArea.setForeground (Color.red);//字体颜色

jTextArea.setFont (new Font ("SansSerif", Font.PLAIN, 14));

jTextArea.setText("天道酬勤");

jTextArea.setBounds(230, 50, 120, 100);

JLabel jLabel6 = new JLabel("权限:");

jLabel6.setBounds(360, 50, 30, 20);

Object[] privs = new Object[]{"增加用户","删除用户","修改用户","预览用户"};

JList jList = new JList(privs);

jList.setBounds(400, 50, 120, 100);

JLabel jLabel7 = new JLabel("爱好:");

jLabel7.setBounds(20, 160, 30, 20);

JCheckBox jCheckBox = new JCheckBox("篮球");

jCheckBox.setBounds(60, 160, 60, 20);

JCheckBox jCheckBox2 = new JCheckBox("电影",true);

jCheckBox2.setBounds(120, 160, 60, 20);

JCheckBox jCheckBox3 = new JCheckBox("旅游");

jCheckBox3.setBounds(180, 160, 60, 20);

JLabel jLabel8 = new JLabel("颜色:");

jLabel8.setBounds(350, 160, 30, 20);

JColorChooser jColorChooser = new JColorChooser(Color.red);

jColorChooser.setBounds(390, 160, 280, 300);

JFileChooser jFileChooser = new JFileChooser();

jFileChooser.setBounds(10, 180, 360, 280);

ImageIcon icon = new ImageIcon(DemoPlainComponent.class.getResource("matthew.gif"));

JLabel jLabel9 = new JLabel(icon);

jLabel9.setBounds(10, 440, icon.getIconWidth(), icon.getIconHeight());

jLabel9.setToolTipText("好有趣的孩子啊");

JButton jButton = new JButton("登陆",icon);

jButton.setBounds(200, 460, 200, 80);

//将上面产生的控件放置在容器中

contentPane.add(jLabel);

contentPane.add(jTextField);

contentPane.add(jLabel2);

contentPane.add(jPasswordField);

contentPane.add(jLabel3);

contentPane.add(jComboBox);

contentPane.add(jLabel4);

contentPane.add(jRadioButton1);

contentPane.add(jRadioButton2);

contentPane.add(jLabel5);

contentPane.add(jTextArea);

contentPane.add(jLabel6);

contentPane.add(jList);

contentPane.add(jLabel7);

contentPane.add(jCheckBox);

contentPane.add(jCheckBox2);

contentPane.add(jCheckBox3);

contentPane.add(jLabel8);

contentPane.add(jColorChooser);

contentPane.add(jFileChooser);

contentPane.add(jLabel9);

contentPane.add(jButton);

//设置窗体可见

jFrame.setVisible(true);

}

}

相关文章:

  • 2022-12-23
  • 2022-01-22
  • 2021-08-06
  • 2021-11-22
  • 2021-09-24
  • 2022-01-28
猜你喜欢
  • 2022-12-23
  • 2021-06-18
  • 2021-10-25
  • 2021-06-30
  • 2022-12-23
  • 2021-11-20
相关资源
相似解决方案