package windows;

import java.awt.BorderLayout;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField; public class CommonComponent extends JFrame {
public CommonComponent() { // 面板
JPanel p1 = new JPanel();
add(p1); // 标签
JLabel name = new JLabel("用户名:");
p1.add(name); // 文本域
JTextField field = new JTextField(8);
p1.add(field); // 标签
JLabel passwd = new JLabel("密码");
p1.add(passwd);
// 密码域
JPasswordField pass = new JPasswordField(8);
p1.add(pass); // 单选按钮
JLabel gender = new JLabel("性别");
p1.add(gender);
JRadioButton male = new JRadioButton("男");
JRadioButton female = new JRadioButton("女");
// 单选按钮组,同一个单选按钮组的互斥.
ButtonGroup group = new ButtonGroup();
group.add(male);
group.add(female);
// 注意,单选按钮组不能添加进容器
p1.add(male);
p1.add(female); // 复选框
JLabel like = new JLabel("爱好:");
p1.add(like);
JCheckBox eat = new JCheckBox("吃饭");
JCheckBox movie = new JCheckBox("看电影");
JCheckBox sleep = new JCheckBox("睡觉");
p1.add(eat);
p1.add(movie);
p1.add(sleep); // 文本域
JLabel info = new JLabel("个人简介");
p1.add(info);
JTextArea area = new JTextArea(20, 20);
p1.add(area); // 列表
String[] data = { "one", "two", "three" };
JList list = new JList(data);
p1.add(list); // 普通按钮
JButton button = new JButton("注册");
p1.add(button); // 菜单条
JMenuBar bar = new JMenuBar();
// 菜单
JMenu menu = new JMenu("文件");
// 菜单选项
JMenuItem myNew = new JMenuItem("新建");
JMenuItem myOpen = new JMenuItem("打开");
bar.add(menu);
menu.add(myNew);
menu.add(myOpen);
add(bar, BorderLayout.NORTH); } public static void main(String[] args) {
CommonComponent frame = new CommonComponent();
frame.setTitle("常用组件");
frame.setSize(400, 400);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 自适应
frame.pack();
frame.setVisible(true);
}
}

最近迷上了GUI的更多相关文章

  1. 在OSX和Windows版本Docker上运行GUI程序

    看到很多人在Docker问题区讨论:如何在OS X和Windows的Docker上运行GUI程序, 随手记录几个参考资料: https://github.com/docker/docker/issue ...

  2. 迷上我成真恋爱学心理学挽回她PDF文档资料完整版情感技巧脱单教程

    迷上我成真恋爱学心理学挽回她PDF文档资料完整版情感技巧脱单教程 成真迷上我偷听女人心挽回她课程 百度网盘迷上我教程pdf地址 百度网盘挽回她教程pdf+视频的地址 备用地址淘宝百度网盘发货地址 百度 ...

  3. 在SSH里面远程启动ubuntu上的GUI程序

    由于嵌入式开发板上是ubuntu系统,开发板接有显示器,现有一GUI程序需要在开发板显示器上实时显示,开发板与本地通过网络SSH连接,正常情况执行如:firefox,那么firefox会显示到本地,只 ...

  4. 在 Windows 用上 Linux GUI——GitHub 热点速览 v.21.17

    本文首发于「HelloGitHub」微信公众号,搜索「HelloGitHub」点击关注解锁更多宝藏! 作者:HelloGitHub-小鱼干 超喜欢本周的 GitHub 热点,如果你是个 Windows ...

  5. python在linux上的GUI无法弹出界面

    在进行python写GUI程序的时候,使用Tkinter,发现无法执行程序,报错如下: X connection to localhost:10.0 broken(explicit kill or s ...

  6. 【BZOJ-4213】贪吃蛇 有上下界的费用流

    4213: 贪吃蛇 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 58  Solved: 24[Submit][Status][Discuss] Desc ...

  7. [原创]Matlab之GUI生成EXE文件

    近期因为项目需要,简化流程,写了一些Matlab程序,并配备上了GUI界面使其简单易用.然后问题来了,可移植性.使用Matlab生成EXE文件(可以封装很多的function),然后在一台安装有Mat ...

  8. 转载:开发者眼中最好的 22 款 GUI 测试工具

    对于很多同学来说gui程序的测试是一个难点,所以我从网上转载了一篇关于gui测试的一篇文章,里面罗列的很多工具,大家可以尝试一下学习学习. 英文原文:22 best GUI testing tools ...

  9. 开发者眼中最好的 22 款 GUI 测试工具

    1.Abbot - Java GUI 测试框架 Abbot是一个基于GUI的简单的Java测试框架,它能够帮助开发者测试Java用户界面. 它提供事件自动生成和验证Java GUI组件,使您能够轻松地 ...

随机推荐

  1. 【小白的CFD之旅】21 网格划分软件的选择

    但是怎样才能获得流体计算网格呢?“工欲善其事必先利其器”,画网格该用什么器呢?小白决定找黄师姐请教一番. 小白找到黄师姐的时候,黄师姐正在电脑上忙着. “黄师姐,我发现网格划分软件有好多种,究竟哪种才 ...

  2. numRecordsIn 在哪里实现?

    /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreem ...

  3. Machine Learning Library (MLlib) Guide, BOOKS

    download.microsoft.com/download/0/9/6/096170E9-23A2.../9780735698178.pdf   Microsoft Azure Essential ...

  4. 解决myeclipse/eclipse创建或导入maven工程时引发的问题

    起因: 最近学习maven,按照教程把命令行创建的maven工程导入到eclipse/myeclipse,由于库中没有一些依赖包,所以在导入工程的时候开发工具自动下载依赖包.可是,由于天朝特殊环境的问 ...

  5. [Windows Azure] How to use the Queue Storage Service

    How to use the Queue Storage Service version 1.7 version 2.0 This guide will show you how to perform ...

  6. [Windows Azure] Data Management and Business Analytics

    http://www.windowsazure.com/en-us/develop/net/fundamentals/cloud-storage/ Managing and analyzing dat ...

  7. linux命令(41):文件和文件夹的颜色

    各个颜色的文件分别代表的是:蓝色表示目录:绿色表示可执行文件:红色表示压缩文件:浅蓝色表示链接文件:灰色表示其它文件:红色闪烁表示链接的文件有问题了:黄色是设备文件,包括block, char, fi ...

  8. 【工具】Sublime + MarkdownEditing + OmniMarkupPreviewer使用起来

    Package Control的安装 下载安装Sublime Text3后,View -> Show Console调用Console. 在Console输入以下代码安装: import url ...

  9. 【C/C++】深入理解指针和数组的关系

    对数组名进行取地址运算 ,,}; ] = &a; //注意左值 对数组名取地址,得到的指针为指向整个数组的指针. 形参数组 形参为数组时勿须带数组长度,因为计算机不会处理,如果需要传数组长度, ...

  10. Linux环境系搭建Git服务器过程全纪录

    Last :: from 139.199.180.186 [root@VM_219_131_centos ~]# yum install curl-devel expat-devel gettext- ...