java swing示例
该范例主要是JFrame(框架)和Jpanel(画板),在Jpanel容器上添加控件,然后再把Jpanel放进JFrame的容器里面。
FrameDemo.java
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame; public class FrameDemo extends JFrame{
public static void main(String[] args) throws Exception { //获取主显示器屏幕大小
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int screenWidth = screenSize.width;
int screenHeight = screenSize.height; //设置界面组件
ComponentDemo component = new ComponentDemo();
FrameDemo frameDemo = new FrameDemo();
frameDemo.setContentPane(component); //将Panel放入到Frame中
frameDemo.setSize(400, 500);
frameDemo.setLocation(screenWidth / 2 - 390 / 2, screenHeight / 2 - 580 / 2);
frameDemo.setVisible(true); } }
ComponentDemo.java
package com.example.swingdemo; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.PrintWriter;
import java.io.StringWriter; import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JTextPane; public class ComponentDemo extends JPanel implements ActionListener {
//JLabel是标签,JTextField是文本框
private JLabel phoneLabel = null;
private JTextField phoneText = null; private JButton btnQuery = null;
private JLabel contentLabel = null;
private JTextPane contentPane = null; public ComponentDemo() {
super();
initialize();
} private void initialize() { phoneLabel = new JLabel();
phoneLabel.setBounds(new java.awt.Rectangle(10, 10, 70, 22));
phoneLabel.setText("电话号码:");
this.setLayout(null);
this.add(phoneLabel, null);
this.add(getPhoneText(), null);
this.add(getBtnQuery(), null);
this.add(getContentLabel(), null);
this.add(getContentPaneText(), null); } private JTextField getPhoneText() {
if (phoneText == null) {
phoneText = new JTextField();
phoneText.setBounds(new java.awt.Rectangle(80, 10, 100, 22));
}
return phoneText;
} private JLabel getContentLabel() {
if (contentLabel == null) {
contentLabel = new JLabel();
contentLabel.setText("内容如下:");
contentLabel.setBounds(new java.awt.Rectangle(10, 70, 70, 22));
}
return contentLabel;
} private JTextPane getContentPaneText() {
if (contentPane == null) {
contentPane = new JTextPane();
contentPane.setEditable(false);
contentPane.setBounds(new java.awt.Rectangle(10, 90, 350, 150));
}
return contentPane;
} private JButton getBtnQuery() {
if (btnQuery == null) {
btnQuery = new JButton("查询UserId");
btnQuery.setBounds(new java.awt.Rectangle(10, 45, 100, 22));
// btnQuery.setText("查询");
btnQuery.addActionListener(this); //注册监听事件
}
return btnQuery;
} // private OperateAction business = null;
// static Logger logger = Logger.getLogger(UserIdComponent.class.getName()); public void actionPerformed(ActionEvent e) {
//在这里添加按下按钮后的触发事件
try { String btnName = e.getActionCommand();
if (btnName.equals("查询UserId")) {
contentPane.setEditable(true); //设置文本框为可编辑
String phoneNumber=phoneText.getText(); //获取电话号码
String outputString="phoneNumber是"+phoneNumber+"\nUserId我并不知道啦\n"+"啦啦啦/啦啦啦/我是可爱的小胖妞^_^";
contentPane.setText(outputString);
}
} catch (Exception e1) {
StringWriter trace = new StringWriter();
e1.printStackTrace(new PrintWriter(trace));
}
} }
代码运行结果如下:
java swing示例的更多相关文章
- Java Swing的进化
摘 要:Swing已是一个比较老的工具集了,在美观的用户界面出来之前需要开发很长时间.它缺少一些你在开发富UI时所需的组件.幸运地是,像 Substance,SwingX及Java Look-and_ ...
- Java Swing 快捷键
Java Swing 快捷键 给Java Swing 编程中按钮或者其他组件事件添加快捷键的方法: Component.setAccelerator(KeyStroke.getKeyStroke(‘ ...
- java swing 添加 jcheckbox复选框
总体上而言,Java Swing编程有两大特点:麻烦.效果差. 麻烦是说由于设计器的使用不方便(如果您希望使用窗体设计器通过快速拖拽控件建立您的Java Swing GUI程序,请您使用MyEclip ...
- Atitit.java swing打印功能 api attilax总结
Atitit.java swing打印功能 api attilax总结 1. 打印方式有三种:2 1.1. 一是不经过任何修改,直接调用javascript中的window.print()打印.2 ...
- java swing JDialog 和 java.util.concurrent的使用
参考链接: Java-Swing的JFrame的一些插件使用详解 java swing JDialog 使用 ScheduledExecutorService定时周期执行指定的任务 swing JDi ...
- 恶补Java Swing线程刷新UI机制(由浅到深的参考大佬博文)
1. java中进度条不能更新问题的研究 感谢大佬:https://blog.csdn.net/smartcat86/article/details/2226681 为什么进度条在事件处理过程中不更新 ...
- Java Swing interview
http://www.careerride.com/Swing-AWT-Interview-Questions.aspx Swing interview questions and answers ...
- Java Swing 第03记 布局管理器
几种Swing常用的布局管理器 BorderLaout 它将容器分为5个部分,即东.南.西.北.中,每一个区域可以容纳一个组件,使用的时候也是通过BorderLayout中5个方位常量来确定组件所在的 ...
- Java Swing 第01记 Hello Word
首先来一个Java Swing的HelloWord程序. package cn.java.swing.chapter03; import javax.swing.JButton; import jav ...
随机推荐
- ADO.net 增删改查
ADO.net 一.定义:编程开发语言与数据库连接的一门语言技术 二.链接: 在vs中操作数据库需在开头进行链接 链接内容:using System.Data.SqlClient 三.引用数据库: 四 ...
- PHP微信公共号授权,获取openid、unionid。
/** * 获取code * @return code code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期 */ publ ...
- workerman-todpole 执行流程(2)
上一篇文章 workerman-todpole 执行流程(1),我们已经分析完了主进程的执行流程,这篇文章主要分析一下子进程的 run() 流程. 有必要提一下,在 run() 开始之前,其实针对角色 ...
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
最近在研究SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1.jquery ajax跨 ...
- TFDStoredProc执行sql server的部分存储过程报错,有的是好的。
TFDStoredProc执行sql server的部分存储过程报错,有的是好的. Invalid character value for cast specification 暂时无解.用fdque ...
- delphi java 日期 转换 获取Unix时间戳
获取Unix时间戳 http://www.cnblogs.com/findumars/p/4716753.html 最简单准确一句话 Result:=IntToStr( DateTimeToUnix ...
- List去重问题引出来的hashCode和equals方法
一.List 里面是基本类型的去重问题 import java.util.ArrayList; import java.util.HashSet; import java.util.List; imp ...
- swarm on ubuntu
转自:https://www.cnblogs.com/jsonhc/p/7862518.html 由于在centos7系统上使用docker-machine安装的swarm实现服务的负载均衡一直失败, ...
- Nginx缓存配置以及nginx ngx_cache_purge模块的使用
web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输 ...
- 计算机网络协议包头赏析-IP
上次和大家聊了聊以太网的帧格式,本文会讲解IP数据报格式的定义. == 开门见山,先上图: 任何一个IP数据报都是由首部和数据两部分组成,而且首部基本是固定长度的,长度为20字节.这一点很重要,其他都 ...