几年没有碰swing了,给你详细注释了。仔细看。希望对你有所帮助。
江西ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
import java.awt.*;//java抽象窗口工具包
import java.awt.event.*;//java抽象窗口工具包组件所激发的各类事件的接口和类
public class Test5{//类名
Frame f;//定义一个Frame窗体
TextArea center;//文本域
Label la1,la2,la3;//三个标签
Panel east,south,north;//三块面板
Button b1,b2,b3,b4;//四个按钮
Choice l1;//下拉单选框
TextField t1;//文本域
// textfield只有一行可写
// textarea是一个区域,可以有很多行
public static void main(String[] args){//主函数,程序入口
Test mb = new Test();
mb.go();//调用go方法,初始化界面
}
private void go(){
f = new Frame("留言版程序");//标题
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt){
f.setVisible(false);
System.exit(0);
//System.exit(0) 0--正常结束程序 1--异常关闭程序
}
});
f.setBounds(0,0,600,400);//布局大小
f.setLayout(new BorderLayout());//显示方式
f.setResizable(false);
//下面都将控件按钮初始化,你懂得
north = new Panel();
south = new Panel();
east = new Panel();
center = new TextArea("留言内容:");
center.setEditable(false);
b1 = new Button("清屏");
b2 = new Button("至顶");
b3 = new Button("至尾");
la1 = new Label("留言版");
la2 = new Label("你");
la3 = new Label(" 地说:");
t1 = new TextField(20);
b4 = new Button("提交");
l1 =new Choice();
l1.add("微笑 ");
l1.add("生气 ");
l1.add("伤心 ");
f.add(BorderLayout.NORTH,north);//布局
f.add(BorderLayout.SOUTH,south);//布局
f.add(BorderLayout.EAST,east);//布局
f.add(BorderLayout.CENTER,center);//布局
north.add(BorderLayout.CENTER,la1);
south.add(la2);//把东西加到面板上
south.add(l1);
south.add(la3);
south.add(t1);//把东西加到面板上
south.add(b4);
east.setLayout(new GridLayout(9,0,1,10));
east.add(b1);
east.add(b2);
east.add(b3);
f.setVisible(true);//可视化
b4.addActionListener(new ActionListener(){//点击提交按钮产生事件
public void actionPerformed(ActionEvent e){
String text1,text2;
text1 = l1.getSelectedItem();
text2 = t1.getText();
t1.setText(null);
if(t1.getText() != ""){//将下拉单选框的内容和你输入在文本框的内容显示在中间面板上
center.append("\n");
center.append(text1);
center.append(text2);
}
}
});
b1.addActionListener(new ActionListener(){//清屏按钮事件,只留下中间面板显示:“留言内容:”,其余清楚
public void actionPerformed(ActionEvent e){
center.setText("留言内容:");
}
});
b2.addActionListener(new ActionListener(){//至顶按钮事件,光标焦点至顶
public void actionPerformed(ActionEvent e){
center.requestFocusInWindow();
center.setCaretPosition(8);
}
});
b3.addActionListener(new ActionListener(){//至尾按钮事件,光标焦点至尾
public void actionPerformed(ActionEvent e){
center.requestFocusInWindow();
center.setCaretPosition(center.getText().length());
}
});
}
}
!-- 这是一段设置风格的java脚本 --
function init()
{
var links=document.getElementsByTagName("link");
for(var i=0;ilinks.length;i++){
var link=links[i];
if(link.rel=="stylesheet")
{
var option=document.createElement("option");
option.value=link.title;
option.innerHTML=link.title;
$("styleSel").appendChild(option);
}
}
addEventListener($("styleSel"),"change",function(evt){
setActiveStyleSheet($("styleSel").value);
document.body.focus();
});
}
function setActiveStyleSheet(title){
var links=document.getElementsByTagName("link");
for(var i=0;ilinks.length;i++){
var link=links[i];
if(link.rel=="stylesheet" link.title){
link.disabled=true;
if(link.title==title)
link.disabled=false;
}
}
}
这个代码是javaswing里面很常见的代码结构
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.Arrays;
import javax.swing.JApplet;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Billard4K extends JPanel implements Runnable, MouseListener, MouseMotionListener {//写一个Billard4K 类继承了线程,鼠标事件,鼠标移动事件的侦听
// GAME STATES
//定义4 个final变量
public final int WAITING_TO_START = 0;
public final int WAITING_TO_HIT = 1;
public final int MOVING = 2;
public final int FINISHING = 3;
//定义一个整形变量
public int state = 0;
// TABLE
//定义一个双整形变量hr
double hR;
//定义四个双整形的数组
double[] tableX;
double[] tableY;
double[] holesX;
double[] holesY;
// BALLS
//定义2个整形变量
public int nballs;
public int nBallsOn;
//定义8个双整形数组
double[] x;
double[] y;
double[] vx;
double[] vy;
double[] nextX;
double[] nextY;
double[] nextVx;
double[] nextVy;
//定义一个布尔型的数组
boolean[] borderCollision;
//定义一个布尔型的2维数组
boolean[][] collision;
//定义一个布尔型的数组
boolean[] onTable;
//定义1个双整形变量
double r = 10;
//定义2个图片变量
// RENDERING
Image backBuffer;
Image backGround;
//定义4个整形变量,标记鼠标的坐标
// MOUSE
int mX;
int mY;
int mXPost;
int mYPost;
//是否点击按钮
boolean clicked;
// STICK
public final int MAX_STRENGTH = 1000;
int sL = 300;
int actualStep = 0;
public Billard4K() {
super();
this.setBounds(50, 50, 700, 350);//设置界面的初始位置和大小
//this.setResizable(false);
//this.setUndecorated(true);
//this.setVisible(true);
JFrame f = new JFrame("Billard4K"); //声明一个JFrame容器,标题为Billard4K
f.add(this);//将JFrame加到界面中去
f.setBounds(0, 0, 700, 380);//设置JFrame的大小
f.setResizable(false);//设置容器的大小不可编辑
f.setVisible(true);//设置容器的显示属性为true
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置容器的默认关闭方式
this.requestFocus();
init();//调用init方法
}
public void init() {
//调用initTable和initBalls方法
initTable();
initBalls();
backBuffer = this.createImage(this.getWidth(), this.getHeight());//定义一个字节读文件建立图片
//gBackBuffer = backBuffer.getGraphics();
//gBackBuffer.setFont(new Font("Courier", Font.BOLD, 20));
createBackGround();//设置背景颜色
// 加入侦听时间
this.addMouseListener(this);
this.addMouseMotionListener(this);
//运行进程
start();
}
public class DataBase {
public Connection conn;//定义一个数据库连接,用于连接数据库
public Statement stmt;//定义操作对象,用于执行SQL语句
public ResultSet rs = null;//定义一个结果集,用于存放执行SQL查询的结果
public String sqlStr = "";//定义一个SQL语句
public DataBase() {//构造函数,用于初始化
this.connect();
}
public boolean connect(){ //这个方法用于判断连接是否建立
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); //加载数据库的驱动
String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=e:/jsp/ticket/database/ticket_database.mdb"; //定义数据库的URL路径
conn=DriverManager.getConnection(url,"",""); //根据URL,后连给引号里面是用户名和密码,建立一个数据库的连接
stmt = conn.createStatement (); //建立操作对象
}catch(Exception ee){
System.out.println("connect db error:"+ee.getMessage()); //如果出现异常打印异常
return false; //并返回失败
}
return true; //成功返回true
}
public ResultSet execQuery(String sql) {//此方法用于查询
String url = "jdbc:odbc:Driver= "
+ "{Microsoft Access Driver (*.mdb)};DBQ=e:/jsp/ticket/database/ticket_database.mdb";//定义数据库的URL
ResultSet rs = null;//定义结果集
try {
conn = DriverManager.getConnection(url, "", "");//建立连接
Statement stmt = conn.createStatement();//建立操作对象
rs = stmt.executeQuery(sql);//执行所要执行的SQL语句,并把查询结果赋给结果集rs
// stmt.close();
} catch (SQLException ex) {
System.err.println("DataBase.execQuery(): " + ex.getMessage());//异常打印出异常信息
}
return rs;//返回结果集
}
public void closeStmt() {//关闭操作对象
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void closeConn() {//关闭数据库连接
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
import java.awt.Button;//使用java.awt包提供的Button(按钮)
import java.awt.Frame;//使用java.awt包提供的容器frame(带标题框)
import java.awt.Label;//使用java.awt包提供的Lable控件
import java.awt.Panel;//使用java.awt包提供的容器panel(面板)
import java.awt.TextField;//使用java.awt包内的TextField类
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class denglu implements ActionListener {
denglu() {
Panel p1, p2, p3;
TextField tName, tPassword;
Frame f;
//框架组件
f = new Frame("学生信息管理系统");
//设置横轴 纵轴 宽 高
f.setBounds(100, 100, 300, 200);
//设置默认布局为BorderLayout
f.setLayout(null);
p1 = new Panel();
p2 = new Panel();
p3 = new Panel();
//新建文本标签组件
Label I1 = new Label("学号:");
Label I2 = new Label("密码:");
//建立文本框组件 列的值是8
tName = new TextField(8);
tPassword = new TextField(8);
//输出的密码用*表示
tPassword.setEchoChar('*');
//建立按钮组件
Button b1 = new Button("登陆");
Button b2 = new Button("注册");
//添加当前框架监听事件
b2.addActionListener(this);
//同上
p1.setBounds(60, 40, 180, 30);
p2.setBounds(60, 80, 180, 30);
p3.setBounds(60, 120, 180, 40);
//将文本框,按钮等组件加入到面板上
p1.add(I1);
p1.add(tName);
p2.add(I2);
p2.add(tPassword);
p3.add(b1);
p3.add(b2);
//将面板添加到frame框架上去
f.add(p1);
f.add(p2);
f.add(p3);
//框架可见
f.setVisible(true);
}
public static void main(String args[]) {
new denglu();
}
public void actionPerformed(ActionEvent arg0) {
//new zhuce();
}
}
直线 是 Line2D
矩形是 Rectangle2D
弧 Arc2D
椭圆 Ellipse2D
圆角矩形是 RoundRectangle2D
上面的都在 java.awt.geom包里