?? testfrom.java~129~
字號:
package testsystem;
import java.awt.*;
import java.sql.*;
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.border.TitledBorder;
import javax.swing.BorderFactory;
import java.awt.Color;
public class TestFrom extends JFrame {
private ImageIcon im1 = new ImageIcon("img\\cz.gif"); //連接相應的圖片
private ImageIcon im2 = new ImageIcon("img\\new.gif");
static int count=1; //聲明靜態變量用戶存儲值
static int total=0;
public TestFrom() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
this.getContentPane().setBackground(new Color(255, 197, 255));
this.setResizable(false);
setTitle("開始考試");
bt.setFont(new java.awt.Font("黑體", Font.BOLD, 30));
getContentPane().setLayout(null);
jScrollPane1.setBounds(new Rectangle(69, 110, 482, 134));
jLabel1.setText("考題:");
jLabel1.setBounds(new Rectangle(24, 118, 45, 67));
jt1.setEditable(false);
jt1.setBounds(new Rectangle(70, 259, 479, 30));
jt2.setEnabled(false);
jt2.setBounds(new Rectangle(70, 305, 479, 28));
jt3.setEnabled(false);
jt3.setBounds(new Rectangle(70, 347, 478, 26));
jt4.setEnabled(false);
jt4.setBounds(new Rectangle(70, 386, 478, 25));
jLabel2.setText("選項A:");
jLabel2.setBounds(new Rectangle(18, 259, 44, 30));
jLabel3.setText("選項B:");
jLabel3.setBounds(new Rectangle(18, 305, 53, 26));
jLabel4.setText("選項C:");
jLabel4.setBounds(new Rectangle(18, 347, 57, 26));
jLabel5.setText("選項D:");
jLabel5.setBounds(new Rectangle(18, 388, 54, 24));
jButton1.addActionListener(new TestFrom_jButton1_actionAdapter(this));
ID.setEnabled(false);
ID.setBorder(BorderFactory.createLineBorder(Color.black));
ID.setText("1");
jButton2.setBounds(new Rectangle(432, 424, 114, 30));
jButton2.setEnabled(false);
jButton2.setIcon(im2);
jButton2.setText("答題");
jButton2.addActionListener(new TestFrom_jButton2_actionAdapter(this));
jLabel6.setToolTipText("");
jLabel6.setHorizontalAlignment(SwingConstants.CENTER);
jLabel6.setText("答案:");
jLabel6.setBounds(new Rectangle(17, 426, 43, 25));
jt5.setBounds(new Rectangle(70, 427, 79, 25));
jLabel7.setForeground(Color.red);
jLabel7.setHorizontalAlignment(SwingConstants.CENTER);
jLabel7.setText("*答案請填A,B,C,D,如果為空算錯!");
jLabel7.setBounds(new Rectangle(165, 428, 230, 23));
jLabel8.setBorder(null);
jLabel8.setHorizontalAlignment(SwingConstants.CENTER);
jLabel8.setText("題號:");
jLabel8.setBounds(new Rectangle(13, 71, 60, 24));
bt.setHorizontalAlignment(SwingConstants.CENTER);
bt.setText("開 始 考 試");
bt.setBounds(new Rectangle(130, 9, 339, 41));
jButton1.setIcon(im1);
jButton1.setBounds(new Rectangle(437, 67, 113, 29));
jButton1.setText("查找試題");
ID.setBounds(new Rectangle(69, 69, 90, 26));
ja1.setEnabled(false);
ja1.setLineWrap(true);
this.getContentPane().add(jLabel8);
this.getContentPane().add(bt);
this.getContentPane().add(ID);
this.getContentPane().add(jButton1);
this.getContentPane().add(jScrollPane1);
this.getContentPane().add(jLabel1);
this.getContentPane().add(jt1);
this.getContentPane().add(jt2);
this.getContentPane().add(jt3);
this.getContentPane().add(jt4);
this.getContentPane().add(jLabel3);
this.getContentPane().add(jLabel2);
this.getContentPane().add(jLabel4);
this.getContentPane().add(jLabel5);
this.getContentPane().add(jt5);
this.getContentPane().add(jLabel6);
this.getContentPane().add(jLabel7);
this.getContentPane().add(jButton2);
jScrollPane1.getViewport().add(ja1);
}
public static void main(String[] args) {
TestFrom testfrom = new TestFrom();
}
JScrollPane jScrollPane1 = new JScrollPane();
JLabel jLabel1 = new JLabel();
JTextField ID = new JTextField();
JButton jButton1 = new JButton();
JTextArea ja1 = new JTextArea();
JTextField jt1 = new JTextField();
JTextField jt2 = new JTextField();
JTextField jt3 = new JTextField();
JTextField jt4 = new JTextField();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
ButtonGroup buttonGroup1 = new ButtonGroup();
JButton jButton2 = new JButton();
JLabel jLabel6 = new JLabel();
JTextField jt5 = new JTextField();
JLabel jLabel7 = new JLabel();
JLabel jLabel8 = new JLabel();
JLabel bt = new JLabel();
TitledBorder titledBorder1 = new TitledBorder("");
TitledBorder titledBorder2 = new TitledBorder("");
//查詢試題功能
public void jButton1_actionPerformed(ActionEvent e) {
String timu=ja1.getText().trim(); //聲明變量獲取用戶輸入的值
String A=jt1.getText().trim();
String B=jt2.getText().trim();
String C=jt3.getText().trim();
String D=jt4.getText().trim();
int num=0;
Connection con=null;
Statement s1=null;
ResultSet rs=null;
try
{
con=DBcon.link();
try
{
num=Integer.parseInt(ID.getText().trim()); //轉換為Int型
}
catch(Exception ce)
{
JOptionPane.showMessageDialog(null,"題號必須為數字!","提示",JOptionPane.ERROR_MESSAGE);
}
s1=con.createStatement();
rs=s1.executeQuery("select * from Question where Num='"+num+"'"); //查詢是否存在試題編號
if (rs.next()) {
String bh = rs.getString("Num");
ID.setText(bh); //獲取相應的列值
String tm = rs.getString("Question");
String A1 = rs.getString("OpA");
String B1 = rs.getString("OpB");
String C1 = rs.getString("OpC");
String D1 = rs.getString("OpD");
ja1.setText(tm); //把相應的值設置顯示在文本框里
jt1.setText(A1);
jt2.setText(B1);
jt3.setText(C1);
jt4.setText(D1);
jButton1.setEnabled(false); //設置查詢按鈕為灰化
}
else
{
JOptionPane.showMessageDialog(null,"考試結束,您的總成績是:→"+total+"分\n\n點擊確定關閉程序!"); //提示結束并獲得考試的總成績
System.exit(0);
}
}
catch(SQLException co)
{
co.getMessage();
}
jButton2.setEnabled(true); //設置答題按鈕為激活狀態
}
//答題功能
public void jButton2_actionPerformed(ActionEvent e) {
int num1=0;
String daan=jt5.getText().trim();
Connection con2=null;
Statement s2=null;
ResultSet rs2=null;
try
{
con2=DBcon.link();
if(daan.length()!=0)
{
try
{
num1=Integer.parseInt(ID.getText().trim());
}
catch(Exception ce)
{
JOptionPane.showMessageDialog(null,"題號必須為數字!","提示",JOptionPane.ERROR_MESSAGE);
}
s2=con2.createStatement();
rs2=s2.executeQuery("select * from Question where Num="+num1+" and Answer='"+daan+"'"); //查詢試題編號和答案是否有內容
if(rs2.next())
{
total+=4; //設置成績加4
JOptionPane.showMessageDialog(null,""+num1+"號試題回答正確!,您現在的總成績是→"+total+"分"); //彈出正確提示 并顯示獲得分數
}
else
{
JOptionPane.showMessageDialog(null,""+num1+"號試題回答錯誤!"); //彈出錯誤提示,不獲取分數
}
}
else
{
JOptionPane.showMessageDialog(null,"答案為空!此題算錯!"); //不寫答案算錯!
}
}
catch(SQLException co)
{
JOptionPane.showMessageDialog(null,co.getMessage());
}
count++; //題號每次增加1
ID.setText(""+count); //顯示在編號文本框里
ja1.setText("");
jt1.setText("");
jt2.setText("");
jt3.setText("");
jt4.setText("");
jt5.setText("");
jButton2.setEnabled(false); //設置答題按鈕為灰化
jButton1.setEnabled(true); //設置查詢按鈕為激活
}
}
class TestFrom_jButton2_actionAdapter implements ActionListener {
private TestFrom adaptee;
TestFrom_jButton2_actionAdapter(TestFrom adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
class TestFrom_jButton1_actionAdapter implements ActionListener {
private TestFrom adaptee;
TestFrom_jButton1_actionAdapter(TestFrom adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -