import java.applet.Applet;//導(dǎo)入系統(tǒng)applet類
10余年的橋東網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整橋東建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“橋東網(wǎng)站設(shè)計(jì)”,“橋東網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.lang.*;
public class Students extends Applet implements ActionListener//類的聲明
{
Vector StuInf=new Vector();
StudentInf SI;
String xm;//定義字符串
String bj;
int i,j,xh,cj;//定義整數(shù)
static int mid;
Label prompt1=new Label("學(xué)生成績管理系統(tǒng)");//創(chuàng)建標(biāo)簽
Label prompt2=new Label(" 用戶:");
Label prompt3=new Label(" 密碼:");
Label prompt4=new Label(" 班級(jí):");
Label prompt5=new Label(" 成績:");
TextField input1=new TextField(8);//創(chuàng)建能容納8個(gè)字符的單行文本框
TextField input2=new TextField(8);//創(chuàng)建能容納8個(gè)字符的單行文本框
TextField input3=new TextField(8);
TextField input4=new TextField(8);
Button btn1=new Button("登錄");//創(chuàng)建按鈕
Button btn2=new Button("增加");
Button btn3=new Button("修改");
Button btn4=new Button("刪除");
//查找方法
public void search(int k)//按編號(hào)查找
{
boolean exist=false;
int low=0;
int high=StuInf.size()-1;
while(low=high)
{
mid=(high+low)/2;//最高分與最低分平均值
StudentInf a1=(StudentInf) StuInf.elementAt(mid);
if(a1.getStuNo()==k)
{
SI=(StudentInf) StuInf.elementAt(mid);
String x = String.valueOf(SI.getStuNo());
exist=true;
input1.setText(SI.getname()); //在該行文本框輸出學(xué)生姓名
input1.selectAll();
input2.setText("0"+x);
input3.setText(SI.getClassNo());//在該行文本框輸出學(xué)生號(hào)
if(SI.getLevel()==-1)
input4.setText("未參加考試");
else
{
String y = String.valueOf(SI.getLevel());//將獲取的成績字符轉(zhuǎn)換
input4.setText(y);
}
break;
}
else if(a1.getStuNo()k)
low=mid+1;
else
high=mid-1;
}
if(exist==false)
{
input1.setText("無此學(xué)號(hào)學(xué)生信息");
input1.selectAll();
}
}
//添加方法
public void Insert(StudentInf q)//添加學(xué)生信息
{
int i=0;
if(StuInf.isEmpty()==true) //學(xué)生信息進(jìn)行設(shè)置
{
StuInf.addElement(q);
input1.setText("");
input2.setText("");
input3.setText("");
input4.setText("");
}
else
{
StudentInf xh;
xh=(StudentInf) StuInf.firstElement();
while(xh.getStuNo()q.getStuNo())
{
i++;
if(iStuInf.size())
xh=(StudentInf) StuInf.elementAt(i);
else
break;
}
if(xh.getStuNo()==q.getStuNo())
{
input2.setText("此學(xué)生信息已存在");
input2.requestFocus();
input2.selectAll();
}
else
{
StuInf.insertElementAt(q,i);
input1.setText("");
input2.setText("");
input3.setText("");
input4.setText("");
}
}
}
好像和另外一個(gè)一樣,貼一下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GoodLucky extends JFrame implements ActionListener{
JTextField tf = new JTextField(); //實(shí)例化一個(gè)文本域
//設(shè)置兩個(gè)按鈕
JButton b1 = new JButton("開始");
JButton b2 = new JButton("停止");
boolean isGo = false;
//構(gòu)造函數(shù)
public GoodLucky(){
b1.setActionCommand("start");//在開始按鈕上設(shè)置一個(gè)動(dòng)作監(jiān)聽 start
JPanel p = new JPanel(); //實(shí)例化一個(gè)可視化容器
//將兩個(gè)按鈕添加到可視化容器上面,用add方法
p.add(b1);
p.add(b2);
//在兩個(gè)按鈕上增加監(jiān)聽的屬性,自動(dòng)調(diào)用下面的監(jiān)聽處理方法actionPerformed(ActionEvent e),如果要代碼有更好的可讀性,可用內(nèi)部類實(shí)現(xiàn)動(dòng)作
//監(jiān)聽處理。
b1.addActionListener(this);
b2.addActionListener(this);
//將停止按鈕設(shè)置為不可編輯(即不可按的狀態(tài))
b2.setEnabled(false);
this.getContentPane().add(tf,"North"); //將上面的文本域放在面板的北方,也就是上面(上北下南左西右東)
this.getContentPane().add(p,"South"); //將可視化容器pannel放在南邊,也就是下面
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設(shè)置用戶在此窗體上發(fā)起 "close" 時(shí)默認(rèn)執(zhí)行的操作,參數(shù)EXIT_ON_CLOSE是使用 System exit 方法退出應(yīng)用程序。僅在應(yīng)用程序中使用
this.setSize(300,200); //設(shè)置面板大小,寬和高
this.setLocation(300,300); //設(shè)置面板剛開始的出現(xiàn)的位置
Cursor cu = new Cursor(Cursor.HAND_CURSOR); //用指定名稱創(chuàng)建一個(gè)新的定制光標(biāo)對(duì)象,參數(shù)表示手狀光標(biāo)類型
this.setCursor(cu); //為指定的光標(biāo)設(shè)置光標(biāo)圖像,即設(shè)置光標(biāo)圖像為上面所創(chuàng)建的手狀光標(biāo)類型
this.setVisible(true); //將面板可視化設(shè)置為true,即可視,如果為false,即程序運(yùn)行時(shí)面板會(huì)隱藏
tf.setText("welcome you! "); //設(shè)置面板的標(biāo)題為歡迎
this.go(); //調(diào)用go方法
}
public void go(){
while(true){ //這里是死循環(huán),也就是說用戶不點(diǎn)擊停止按鈕的話他一直循環(huán)出現(xiàn)隨機(jī)數(shù),直到用戶點(diǎn)擊停止按鈕循環(huán)才能推出,具體流程在actionPerformed方法中控制。
if(isGo == true){ //上面所定義的isGo的初始值為false,所以程序第一次到此會(huì)跳過
String s = ""; //設(shè)置空字符串
for(int j = 1; j = 7;j++){ //產(chǎn)生7個(gè)隨機(jī)數(shù)
int i = (int)(Math.random() * 36) + 1;//每個(gè)隨機(jī)數(shù)產(chǎn)生方式,這里定義靈活,可以自由定義隨機(jī)數(shù)產(chǎn)生的方式
if(i 10){
s = s + " 0" + i; //如果產(chǎn)生的隨機(jī)數(shù)小于10的話做處理:這里就牽扯到一個(gè)重要的概念,簡單敘述一下:
/*
當(dāng)一個(gè)字符串與一個(gè)整型數(shù)項(xiàng)相加的意思是連接,上面的s = s + " 0" + i的意思是字符串s鏈接0再連接整型i值,而不會(huì)導(dǎo)致0和整型的i相加,
產(chǎn)生的效果為s0i,由于s為空字符串(上面定義過的),所以當(dāng)i小于零時(shí),在個(gè)位數(shù)前面加上0,比如產(chǎn)生的隨機(jī)數(shù)i為7的話,顯示效果為 07.
*/
}else{
s = s + " " + i; //如果產(chǎn)生的隨機(jī)數(shù)比10打的話,那么加上空格顯示,即數(shù)字和數(shù)字之間有個(gè)空格
}
//以上循環(huán)循環(huán)七次,以保證能出現(xiàn)7個(gè)隨機(jī)數(shù)
}
tf.setText(s); //將產(chǎn)生的隨機(jī)數(shù)全部顯示在文本域上,用文本域?qū)ο髏f調(diào)用它的設(shè)置文本的方法setText(String)實(shí)現(xiàn)。
}
//以下為線程延遲
try{
Thread.sleep(10); //線程類同步方法sleep,睡眠方法,括號(hào)里的單位為ms。
}catch(java.lang.InterruptedException e){
e.printStackTrace(); //異常捕獲,不用多說。
}
}
}
//以下是上面設(shè)置的事件監(jiān)聽的具體處理辦法,即監(jiān)聽時(shí)間處理方法,自動(dòng)調(diào)用
public void actionPerformed(ActionEvent e){ //傳入一個(gè)動(dòng)作事件的參數(shù)e
String s = e.getActionCommand(); //設(shè)置字符串s來存儲(chǔ)獲得動(dòng)作監(jiān)聽,上面的start
/*
以下這個(gè)條件語句塊的作用為:用戶點(diǎn)擊開始后(捕獲start,用方法getActionCommand()),將命令觸發(fā)設(shè)置為true,從而執(zhí)行上面的go方法中的循環(huán)體(因?yàn)檠h(huán)體中要求isGo參數(shù)為true,而初始為false)。
執(zhí)行循環(huán)快產(chǎn)生隨機(jī)數(shù),并將開始按鈕不可編輯化,而用戶只可以使用停止按鈕去停止。如果用戶按下停止時(shí),也就是沒有傳入?yún)?shù)“start”的時(shí)候,
執(zhí)行else語句塊中的語句,isGo設(shè)置為false,將不執(zhí)行上面go中的循環(huán)語句塊,從而停止產(chǎn)生隨機(jī)數(shù),并顯示,并且把開始按鈕設(shè)置為可用,而把
停止按鈕設(shè)置為不可用,等待用戶按下開始再去開始新一輪循環(huán)產(chǎn)生隨機(jī)數(shù)。
*/
if(s.equals("start")){ //如果捕獲到start,也就是用戶觸發(fā)了動(dòng)作監(jiān)聽器,那么下面處理
isGo = true; //設(shè)置isGo為true
b1.setEnabled(false); //將開始按鈕設(shè)置為不可用
b2.setEnabled(true); //將停止按鈕設(shè)置為可用
}else{
isGo = false; //將isGo設(shè)置為false,isGo為循環(huán)標(biāo)志位
b2.setEnabled(false); //設(shè)置停止按鈕為不可用(注意看是b2,b2是停止按鈕)
b1.setEnabled(true); //設(shè)置開始按鈕為可用
}
}
public static void main(String[] args){
new GoodLucky(); //產(chǎn)生類的實(shí)例,執(zhí)行方法
}
}
如果,代碼是連續(xù)的幾行 如:
int a ;
int b;
可以選中這兩行,按住Ctrl+/,可以注釋
或者Ctri+Shift+/
如果是跳躍的幾行,只能一行一行注釋
多注了些控制流程,希望我的注釋能夠?qū)δ阌袔椭?/p>
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GoodLucky extends JFrame implements ActionListener{
JTextField tf = new JTextField(); //實(shí)例化一個(gè)文本域
//設(shè)置兩個(gè)按鈕
JButton b1 = new JButton("開始");
JButton b2 = new JButton("停止");
boolean isGo = false;
//構(gòu)造函數(shù)
public GoodLucky(){
b1.setActionCommand("start");//在開始按鈕上設(shè)置一個(gè)動(dòng)作監(jiān)聽 start
JPanel p = new JPanel(); //實(shí)例化一個(gè)可視化容器
//將兩個(gè)按鈕添加到可視化容器上面,用add方法
p.add(b1);
p.add(b2);
//在兩個(gè)按鈕上增加監(jiān)聽的屬性,自動(dòng)調(diào)用下面的監(jiān)聽處理方法actionPerformed(ActionEvent e),如果要代碼有更好的可讀性,可用內(nèi)部類實(shí)現(xiàn)動(dòng)作
//監(jiān)聽處理。
b1.addActionListener(this);
b2.addActionListener(this);
//將停止按鈕設(shè)置為不可編輯(即不可按的狀態(tài))
b2.setEnabled(false);
this.getContentPane().add(tf,"North"); //將上面的文本域放在面板的北方,也就是上面(上北下南左西右東)
this.getContentPane().add(p,"South"); //將可視化容器pannel放在南邊,也就是下面
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設(shè)置用戶在此窗體上發(fā)起 "close" 時(shí)默認(rèn)執(zhí)行的操作,參數(shù)EXIT_ON_CLOSE是使用 System exit 方法退出應(yīng)用程序。僅在應(yīng)用程序中使用
this.setSize(300,200); //設(shè)置面板大小,寬和高
this.setLocation(300,300); //設(shè)置面板剛開始的出現(xiàn)的位置
Cursor cu = new Cursor(Cursor.HAND_CURSOR); //用指定名稱創(chuàng)建一個(gè)新的定制光標(biāo)對(duì)象,參數(shù)表示手狀光標(biāo)類型
this.setCursor(cu); //為指定的光標(biāo)設(shè)置光標(biāo)圖像,即設(shè)置光標(biāo)圖像為上面所創(chuàng)建的手狀光標(biāo)類型
this.setVisible(true); //將面板可視化設(shè)置為true,即可視,如果為false,即程序運(yùn)行時(shí)面板會(huì)隱藏
tf.setText("welcome you! "); //設(shè)置面板的標(biāo)題為歡迎
this.go(); //調(diào)用go方法
}
public void go(){
while(true){ //這里是死循環(huán),也就是說用戶不點(diǎn)擊停止按鈕的話他一直循環(huán)出現(xiàn)隨機(jī)數(shù),直到用戶點(diǎn)擊停止按鈕循環(huán)才能推出,具體流程在actionPerformed方法中控制。
if(isGo == true){ //上面所定義的isGo的初始值為false,所以程序第一次到此會(huì)跳過
String s = ""; //設(shè)置空字符串
for(int j = 1; j = 7;j++){ //產(chǎn)生7個(gè)隨機(jī)數(shù)
int i = (int)(Math.random() * 36) + 1;//每個(gè)隨機(jī)數(shù)產(chǎn)生方式,這里定義靈活,可以自由定義隨機(jī)數(shù)產(chǎn)生的方式
if(i 10){
s = s + " 0" + i; //如果產(chǎn)生的隨機(jī)數(shù)小于10的話做處理:這里就牽扯到一個(gè)重要的概念,簡單敘述一下:
/*
當(dāng)一個(gè)字符串與一個(gè)整型數(shù)項(xiàng)相加的意思是連接,上面的s = s + " 0" + i的意思是字符串s鏈接0再連接整型i值,而不會(huì)導(dǎo)致0和整型的i相加,
產(chǎn)生的效果為s0i,由于s為空字符串(上面定義過的),所以當(dāng)i小于零時(shí),在個(gè)位數(shù)前面加上0,比如產(chǎn)生的隨機(jī)數(shù)i為7的話,顯示效果為 07.
*/
}else{
s = s + " " + i; //如果產(chǎn)生的隨機(jī)數(shù)比10打的話,那么加上空格顯示,即數(shù)字和數(shù)字之間有個(gè)空格
}
//以上循環(huán)循環(huán)七次,以保證能出現(xiàn)7個(gè)隨機(jī)數(shù)
}
tf.setText(s); //將產(chǎn)生的隨機(jī)數(shù)全部顯示在文本域上,用文本域?qū)ο髏f調(diào)用它的設(shè)置文本的方法setText(String)實(shí)現(xiàn)。
}
//以下為線程延遲
try{
Thread.sleep(10); //線程類同步方法sleep,睡眠方法,括號(hào)里的單位為ms。
}catch(java.lang.InterruptedException e){
e.printStackTrace(); //異常捕獲,不用多說。
}
}
}
//以下是上面設(shè)置的事件監(jiān)聽的具體處理辦法,即監(jiān)聽時(shí)間處理方法,自動(dòng)調(diào)用
public void actionPerformed(ActionEvent e){ //傳入一個(gè)動(dòng)作事件的參數(shù)e
String s = e.getActionCommand(); //設(shè)置字符串s來存儲(chǔ)獲得動(dòng)作監(jiān)聽,上面的start
/*
以下這個(gè)條件語句塊的作用為:用戶點(diǎn)擊開始后(捕獲start,用方法getActionCommand()),將命令觸發(fā)設(shè)置為true,從而執(zhí)行上面的go方法中的循環(huán)體(因?yàn)檠h(huán)體中要求isGo參數(shù)為true,而初始為false)。
執(zhí)行循環(huán)快產(chǎn)生隨機(jī)數(shù),并將開始按鈕不可編輯化,而用戶只可以使用停止按鈕去停止。如果用戶按下停止時(shí),也就是沒有傳入?yún)?shù)“start”的時(shí)候,
執(zhí)行else語句塊中的語句,isGo設(shè)置為false,將不執(zhí)行上面go中的循環(huán)語句塊,從而停止產(chǎn)生隨機(jī)數(shù),并顯示,并且把開始按鈕設(shè)置為可用,而把
停止按鈕設(shè)置為不可用,等待用戶按下開始再去開始新一輪循環(huán)產(chǎn)生隨機(jī)數(shù)。
*/
if(s.equals("start")){ //如果捕獲到start,也就是用戶觸發(fā)了動(dòng)作監(jiān)聽器,那么下面處理
isGo = true; //設(shè)置isGo為true
b1.setEnabled(false); //將開始按鈕設(shè)置為不可用
b2.setEnabled(true); //將停止按鈕設(shè)置為可用
}else{
isGo = false; //將isGo設(shè)置為false,isGo為循環(huán)標(biāo)志位
b2.setEnabled(false); //設(shè)置停止按鈕為不可用(注意看是b2,b2是停止按鈕)
b1.setEnabled(true); //設(shè)置開始按鈕為可用
}
}
public static void main(String[] args){
new GoodLucky(); //產(chǎn)生類的實(shí)例,執(zhí)行方法
}
}
圣誕平安夜了,祝朋友開心快樂!
import?java.awt.*;???//awt的圖形包
import?javax.swing.*;//swing的圖形包
import?java.io.*; //IO流處理包
import?java.awt.event.*;?//事件處理包
public?class?CDInfor?extends?JFrame?implements?ActionListener//繼承swing?的Frame?實(shí)現(xiàn)?事件接口?
{
BufferedReader?in;? //輸入輸出管道流
FileWriter?out;
JPanel?jPanel1?=?new?JPanel(); //定義?6個(gè)Jpanel(容器)用來裝組件?(就是你按鈕什么的)
JPanel?jPanel2?=?new?JPanel(new?GridLayout(4,1)); //其中這個(gè)是??用網(wǎng)格的布局管理器
JPanel?jPanel3?=?new?JPanel();
JPanel?jPanel5?=?new?JPanel();
JPanel?jPanel4?=?new?JPanel();
JPanel?jPanel6?=?new?JPanel();
JScrollPane?jScrollPane1?=?new?JScrollPane(); //定義滾動(dòng)條
JTextArea?jTextArea1?=?new?JTextArea("",10,25); //定義輸入框
GridLayout?gridLayout1?=?new?GridLayout(); //整體用的事?網(wǎng)格布局管理器
JTextField?jTextField1?=?new?JTextField(10);? //文本輸入框
JTextField?jTextField2?=?new?JTextField(10);?
JTextField?jTextField3?=?new?JTextField(10);?
JLabel?jLabel1?=?new?JLabel("唱片編號(hào):"); //定義顯示的字?(只用來顯示字)
JLabel?jLabel2?=?new?JLabel("唱片名稱:");
JLabel?jLabel3?=?new?JLabel("歌手姓名:");
JButton?jButton1?=?new?JButton("增加"); //定義按鈕
JButton?jButton2?=?new?JButton("取消");
String?str;
public?CDInfor()?{ //構(gòu)造方法?程序啟動(dòng)的時(shí)候?或者調(diào)用這個(gè)類的時(shí)候執(zhí)行(這里是程序啟動(dòng))
try?{
setDefaultCloseOperation(EXIT_ON_CLOSE);????//天劍程序關(guān)閉的方法?要不然?你點(diǎn)關(guān)閉?界面沒了?但是資源沒釋放
jbInit(); //調(diào)用jbInit()方法?用于實(shí)現(xiàn)事件
}
catch?(Exception?exception)?{ //錯(cuò)誤捕捉
exception.printStackTrace();
}
}
public?void?jbInit()
{
Container?cp?=?getContentPane(); //定義一個(gè)pane的容器
cp.setLayout(new?BorderLayout()); //布局為邊框布局
jButton1.addActionListener(this); //將按鈕1?綁定事件
jButton2.addActionListener(this); //將按鈕2?綁定事件
jTextArea1.setEditable(false); //將這個(gè)輸入框設(shè)定為不可編輯
jScrollPane1.getViewport().add(jTextArea1); //滾動(dòng)條和jTextArea1綁定
jPanel3.add(jLabel1);?jPanel3.add(jTextField1);???//將各個(gè)組件加入Jpanel里
jPanel4.add(jLabel2);?jPanel4.add(jTextField2);
jPanel5.add(jLabel3);?jPanel5.add(jTextField3);
jPanel6.add(jButton1);?jPanel6.add(jButton2);
jPanel1.add(jScrollPane1);
jPanel2.add(jPanel3);?jPanel2.add(jPanel4);?jPanel2.add(jPanel5);?jPanel2.add(jPanel6);
jPanel2.setPreferredSize(new?Dimension(10,?150));
cp.add("Center",jPanel1);
cp.add("South",jPanel2);???
}
public?void?actionPerformed(ActionEvent?e) //實(shí)現(xiàn)事件監(jiān)聽
{
if(e.getSource()==jButton1) //如果當(dāng)前是?按鈕一的話
{
try?{}?
catch?(Exception?ex)?{}
}
jTextField1.setText("");? //內(nèi)容全部清空
jTextField2.setText("");
jTextField3.setText("");
}
public?static?void?main(String[]?args)?throws?Exception
{
CDInfor?kk?=?new?CDInfor(); //應(yīng)為main是Static?所以?要new?本身類
kk.setSize(350,350); //設(shè)定大小
kk.setTitle("Please?caculat:"); //設(shè)定標(biāo)題欄文字
kk.setVisible(true); //是否顯示?這個(gè)窗口
}
}
還不夠詳細(xì)么親~?采納吧~~
ResourceBundle res;
//打開對(duì)應(yīng)的db.prop屬性文件文件,和你的java class同一目錄下
res = ResourceBundle.getBundle("db");
//從文件中取得ulr, user, password, jdbc driver名字
String url=res.getString("url");
String user=res.getString("user");
String password=res.getString("password");
String className = res.getString("classname");
try{
//初始化你的jdbc dirver
Class.forName(className).newInstance();
//建立connection
conn = DriverManager.getConnection(url,user,password);
}catch(Exception e)
{
e.printStackTrace();
}
return conn;