1、单一界面的创建

public void mainFrame() {
HashMap<String, Component> views = new HashMap<String, Component>();
JFrame jf = new JFrame("title"); // 实例化一个JFrame对象
jf.setSize(500,300); // 设置窗体大小位置
jf.setLayout(null);//无布局
jf.setResizable(false);//不可最大小化
jf.setIconImage(new ImageIcon("image/abc.jpg").getImage());//图标
// 设置窗体关闭方式
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jf.setVisible(true); // 使窗体可视
//窗体居中
Dimension s = Toolkit.getDefaultToolkit().getScreenSize();
jf.setLocation((s.width - jf.getWidth()) / 2, (s.height - jf.getHeight()) / 2); //各种组件和容器
JPanel panel;
JLabel label;
JTextField tfield;
JButton button;
JComboBox<String> combox;
//... //第一个容器
panel = new JPanel();
panel.setBounds(0, 0, 1000, 40);
//容器内布局
panel.setLayout(new FlowLayout(FlowLayout.LEFT));
//容器加到窗体
jf.add(panel); //第一个组件JLabel
label = new JLabel("我是Label");
//组件加到容器
panel.add(label);
//第二个组件JTextField
tfield = new JTextField(22);
tfield.setFont(new Font("", 0, 16));
// tfield.setEditable(false);
panel.add(tfield);
//把需要操作的组件加到HashMap<String, Component>,方便调用
views.put("txt_code", tfield); //后继增加...
}

2、常用操作方法

字符串常用操作
length() //获取字符串的长度
startsWith(Strings)、endsWith(String s) //判断字符串的前缀或后缀与已知字符串是否相同前缀
equals(String s) //比较两个字符串
Integer.parseInt(字符串)
Long.parseLong(字符串)
Folat.valueOf(字符串).floatValue()
Double.valueOf(字符串).doubleValue() //把字符串强制转换
valueOf(数值) //将数值转化为字符串
字符串检索:
indexOf(Srting s) //从头开始检索
indexOf(String s ,int startpoint) //从startpoint处开始检索,如果没有检索到,将返回-1
字符串截取:
substring(int startpoint) //从startpoint处开始获取
substring(int start,int end) //从start到end中间的字符
替换字符串中的字符:
replace(char old,char new) //用new替换old
分析字符串
StringTokenizer(String s) //构造一个分析器,使用默认分隔字符(空格,换行,回车,Tab,进纸符)
StringTokenizer(String s,String delim) //delim是自己定义的分隔符
nextToken() //逐个获取字符串中的语言符号
boolean hasMoreTokens() //只要字符串还有语言符号将返回true,否则返回false
countTokens() //得到一共有多少个语言符号 文本框和文本区
文本框
TextField() //构造文本框,一个字符长、TextField(int x) 构造文本框,x个字符长
TextField(String s) //构造文本框,显示s、setText(String s) 设置文本为s
getText() //获取文本
setEchoChar(char c) //设置显示字符为c
setEditable(boolean) //设置文本框是否可以被修改
addActionListener() //添加监视器
removeActionListener() //移去监视器
文本区
TextArea() //构造文本区
TextArea(String s) //构造文本区,显示s
TextArea(String s,int x,int y) //构造文本区,x行,y列,显示s
TextArea(int x,int y) //构造文本区,x行,y列
TextArea(String s,int x,ing y,int scrollbar)
scrollbar的值是:
TextArea.SCROLLBARS_BOTH;TextArea.SCROLLBARS_VERTICAL_ONLY
TextArea.SCROLLBARS_HORIZONTAL_ONLY;TextArea.SCROLLBARS_NONE
setText(String s) //设置文本为s;getText() 获取文本
addTextListener() //添加监视器;removeTextListener() 移去监视器
insert(String s,int x) //在x处插入文本s
replaceRange(String s,int x,int y) //用s替换从x到y处的文本
append(String s) //在文本的最后追加文本s
Int getCaretPosition(int n) //获取文本区中光标的位置 按钮
Button() //构造按钮
Button(String s) //构造按钮,标签是s
setLabel(String s) //设置按钮标签是s
getLabel() //获取按钮标签
addActionListener() //添加监视器
removeActionListener() //移去监视器 标签
  Label() //构造标签
  Label(String s) //构造标签,显示s
  Label(String s,int x) //x是对齐方式,取值:Label.LEFT;Label.RIGHT;Label.CENTER
  setText(String s) //设置文本s
  getText() //获取文本
  setBackground(Color c) //设置标签背景颜色
  setForeground(Color c) //设置字体颜色 选择框
  Checkbox() //构造选择框
  Checkbox(String s) //构造选择框,给定标题s
  Checkbox(String s,boolean b) //b设定初始状态
  Checkbox(String s,boolean b,CheckboxGroup g) //g设定了所属的组(有了组就成为单选框)
  addItemListener() //添加监视器
  removeItemListener() //移去监视器
  getState() //返回选择框的是否选中状态
  setState(boolean b) //设置选择框的状态
  getLabel() //获取选择框的标题
  setLabel(String s) //设置选择框的标题为s 选择控件
  Choice() //构造选择控件
  add(String s) //向选择控件增加一个选项
  addItemListener() //添加监视器
  removeItemListener() //移去监视器
  getSelectedIndex() //返回当前选项的索引
  getSelectedItem() //返回当前选项的字符串代表
  insert(String s,int n) //在n处插入选项s
  remove(int n)
  removeAll() 滚动列表
  List() //构造滚动列表
  List(int n) //参数n是可见行数
  List(int n,boolean b) //参数b是设置是否可以多项选择
  add(String s) //向列表的结尾增加一个选项
  add(String s,int n) //在n处增加一个选项
  AddActionListener() //滚动列表添加监视器
  addItemListener() //滚动列表上的选项添加监视器
  remove(int n) //删除n初的选项
  remnoveAll() //删除全部选项
  getSelectedIndex() //返回当前选项的索引
  getSelectedItem() //返回当前选项的字符串代表 组件类的一些常用方法
  void setBackground(Color c) //设置组件背景颜色
  void setForeground(Color c) //设置组件前景颜色
  void setFonts(Font f) //设置组件字体
  void setBounds(int x,int y,int w,int h) //设置坐标,x,y表示在容器中坐标,w,h表示宽和高
  void setLocation(int x,int y) //移动到x,y 处;void setSize(int w,int h) 设置宽和高
  void setVisible(boolean b) //设置组建是否可见
  int getBounds().wigth //获取宽
  int getBounds().height //获取高
  int getBounds().x //获取x 坐标; 注意
1). 要固定JComboBox大小有两个地方需要关注的。
1、你的JComboBox放的面板的布局是什么类型的布局,如果不是null布局就调整布局来给JComboBox分配合适的大小。
2、如果你用的是空布局的话,那么用setSize方法 或者 setBounds方法,来改变JComboBox大小setBounds可以改变控件的大小和位置。
2). Java中setBounds和setSize有什么区别:bounds就是size和location的结合体

3、有些组件setSize不起作用时,用setPreferredSize,例如button.setPreferredSize(new Dimension(60, 22));

4、表格一般用模型创建,方便更新管理:

JTable table;
DefaultTableModel model = new DefaultTableModel(); //默认模型
model.setColumnIdentifiers(new Object[] {"a","b","c"}); //表头
table = new JTable(model);
JScrollPane scrollPaner = new JScrollPane(table);
scrollPaner.setBounds(0, 0, 985, 500);
panel.add(scrollPaner);

表格数据的清除和更新:

//获得表格的默认模型
DefaultTableModel model = (DefaultTableModel) table.getModel();
// 清空表格
while (model.getRowCount() > 0) {
model.removeRow(model.getRowCount() - 1);
}
//表格的数据插入
model.addRow(new Object[] { "a", "b", "c"});
//通知表格更新
model.fireTableDataChanged();

5、消息提示框

    //以下都是一个确定按钮的弹出框
JOptionPane.showMessageDialog(null, "提示内容"); //蓝色反叹号,标题为“消息”
JOptionPane.showMessageDialog(null, "内容", "标题", JOptionPane.ERROR_MESSAGE); //错误提示,只要一个按钮
JOptionPane.showMessageDialog(null, "警告提示框", "标题",JOptionPane.WARNING_MESSAGE);
JOptionPane.showMessageDialog(null, "错误提示框", "标题",JOptionPane.ERROR_MESSAGE);
JOptionPane.showMessageDialog(null, "最基本提示框", "标题",JOptionPane.PLAIN_MESSAGE);//没有图标
//以下带有自定义选择按钮的选择提示框,按钮和提示消息均可自定义
/*showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue);
* 选择对话框OptionDialog是一个充分由用户自定义的对话框,showOptionDialog是一个8个参数的方法,参数“Object[] options”定义了一个按钮数组集合,
* 每个按钮对应的返回值是其在数组中的下标,当参数“Object[] options”不空时,参数“int optionType”和“int messageType”作用不大,
* 参数“Object initialValue”确定了默认选中的按钮。*/
JOptionPane.showConfirmDialog(null, "询问提示框", "标题",JOptionPane.YES_NO_OPTION); //返回值为0或1
Object[] options ={ "按钮1", "按钮2" }; //自定义按钮
JOptionPane.showOptionDialog(null, "询问提示框", "标题",JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
//showInoutDialog可以做成带有下拉选择列表或者输入框的提示框,并可以将用户选择或者输入信息返回
Object[] obj2 ={ "a", "b", "c" }; //下拉内容
String str = (String) JOptionPane.showInputDialog(null,"请选择", "标题", JOptionPane.PLAIN_MESSAGE, new ImageIcon("图标"), obj2, "b");
JOptionPane.showInputDialog(null,"请输入:\n","title",JOptionPane.PLAIN_MESSAGE);

java的图形界面初学惯用的更多相关文章

  1. Java的图形界面依然是跨平台的

    Awt:抽象窗口工具箱,它由三部分组成: ①组件:界面元素: ②容器:装载组件的容器(例如窗体): ③布局管理器:负责决定容器中组件的摆放位置. 图形界面的应用分四步: ① 选择一个容器: ⑴wind ...

  2. Java Swing 图形界面开发(目录)

    Java Swing 图形界面开发(目录) 2017年05月30日 23:50:42 阅读数:5228 本文链接: http://blog.csdn.net/xietansheng/article/d ...

  3. Java Swing图形界面开发

    本文转自xietansheng的CSDN博客内容,这是自己见过的最通俗易懂.最适合快速上手做Java GUI开发的教程了,这里整合一下作为自己以后复习的笔记: 原文地址:https://blog.cs ...

  4. Java自学-图形界面 容器

    Swing 的容器 JFrame和JDialog java的图形界面中,容器是用来存放 按钮,输入框等组件的. 窗体型容器有两个,一个是JFrame,一个是JDialog 步骤 1 : JFrame ...

  5. 【计项02组01号】Java版图形界面计算器

    Java版图形界面计算器1.0版本 项目分析[1.0] 组成部分 代码结构 (1)窗口的创建 在<JDK 核心 API>中我们提到,创建一个窗口需要使用 JFrame 类.在本实验中,我们 ...

  6. JAVA与图形界面开发(Applet应用程序、AWT库、Swing)

    Applet 1)简单说,Applet就是嵌入到网页中的小程序,Java代码. 2)编写Applet程序,要继承JApplet类,并根据自己需要覆写相关方法(init.start.stop.destr ...

  7. Java GUI图形界面开发工具

    Applet 应用程序     一种可以在 Web 浏览器中执行的小程序,扩展了浏览器中的网页功能. 缺: 1.需要下载 Applet 及其相关文件 2.Applet 的功能是受限制的 优: 3.无需 ...

  8. Java自学-图形界面 Swing中的线程

    Swing中的线程 步骤 1 : 三种线程 在Swing程序的开发中,需要建立3种线程的概念 初始化线程 初始化线程用于创建各种容器,组件并显示他们,一旦创建并显示,初始化线程的任务就结束了. 事件调 ...

  9. Java实现图形界面的三部曲及IDE中的窗口设计

    设计和实现图形用户界面的工作主要有以下几点: • (1)创建组件(Component) • 创建组成界面的各种元素,如按钮.文本框等.• (2)指定布局(Layout) • 根据具体需要排列它们的位置 ...

随机推荐

  1. 使用js页面添加或删除标签

    // 添加var container = document.getElementById('divAudio');container.appendChild(audio); // 删除var cont ...

  2. [Django笔记] models 深入学习

    对着官方文档撸一遍,顺便做点笔记 models 定义了本应用的数据库表结构.底层可以由不同的数据库封装实现,因为不同的数据库字段类型不一样,因此,跟以往直接用单一数据库(如mysql)建立的应用有很大 ...

  3. 图解 SSH上传安装tomcat

    安装步骤: 1.SSH上传压缩包 2.[root@localhost soft]# tar  -zxvf apache-tomcat-7.0.61.tar.gz    //解压安装 解压结果 3.[r ...

  4. 洛谷P2607 [ZJOI2008]骑士

    P2607 [ZJOI2008]骑士 题目描述 Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬. 最近发生了一件可怕的事情,邪恶的Y国发动了一 ...

  5. cropper.js裁剪图片的使用

    这两天难得有时间可以整理一下最近学习的东西,这两天项目中用到了头像上传裁剪的功能,这里只介绍头像的裁剪吧. 单独实现图片剪裁的功能还是挺容易的,入门级别的.看一遍官方给的文档,基本上就明白了.大家如果 ...

  6. Python中使用Type hinting 和 annotations

    Type hints最大的好处就是易于代码维护.当新成员加入,想要贡献代码时,能减少很多时间. 也方便我们在调用汉书时提供了错误的类型传递导致运行时错误的检测. 第一个类型注解示例 我们使用一个简单例 ...

  7. App渠道统计方法全面解析 总有一种适合你

    一.App渠道统计对于App推广运营的重要性 (理解App渠道统计重要性的老司机,请直接移步到第二部分) App服务的竞争重点已经由功能竞争转向市场和运营的竞争,而App的推广与运营离不开App渠道统 ...

  8. 原生 Ajax 封装 和 Axios 二次 封装

    AJAX 异步的JavaScript与XML技术( Asynchronous JavaScript and XML ) Ajax 不需要任何浏览器插件,能在不更新整个页面的前提下维护数据,但需要用户允 ...

  9. day14内置函数作业详解

    day14题目 day14作业及默写 1,整理今天所学内容,整理知识点,整理博客. 2,画好流程图. 3,都完成的做一下作业(下面题都是用内置函数或者和匿名函数结合做出): 4,用map来处理字符串列 ...

  10. bzoj1004 [HNOI2008]Cards【Burnside/Polya】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1004 一道好题,但并不是好在融合了三个“考点”(计数,背包dp,逆元),其实背包dp以及求逆 ...