📄 orderbyone.java~52~
字号:
package Chapter1;import java.io.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;import java.awt.Rectangle;import java.awt.Font;public class OrderByOne extends JFrame implements ActionListener{ public static final int WIDTH=400; public static final int HEIGHT=400; JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); JLabel jLabel1 = new JLabel(); JTextField jTextField1 = new JTextField(10); public OrderByOne() { setSize(WIDTH,HEIGHT); setTitle("按单科成绩排序"); Container contentPane=getContentPane(); contentPane.setBackground(Color.green); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("排序")) { String [] columnNames={"学号","姓名","高等数学","JAVA","计算机组成原理","个体软件过程","大学英语","军事理论","总成绩","GPA成绩","备注"}; Object [][] rowData=new Object[30][11]; try { String url="jdbc:odbc:MySecondAccess"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con=DriverManager.getConnection(url,"",""); Statement stmt=con.createStatement(); String SQLOrder="SELECT * FROM Scores ORDER BY "+jTextField1.getText()+""; ResultSet resultSet=stmt.executeQuery(SQLOrder); int count=0;boolean p=true; while(resultSet.next())//注意:此处若改用if(resultSet.next())则不能显示所有同学的信息,而只能显示第一个 { rowData [count][0] =resultSet.getString(1); rowData [count][1] =resultSet.getString(2); rowData [count][2] =resultSet.getString("高等数学"); rowData [count][3] =resultSet.getString("JAVA"); rowData [count][4] =resultSet.getString("计算机组成原理"); rowData [count][5] =resultSet.getString("个体软件过程"); rowData [count][6] =resultSet.getString("大学英语"); rowData [count][7] =resultSet.getString("军事理论"); rowData [count][8]=resultSet.getString("总成绩"); rowData [count][9]=resultSet.getString("GPA成绩"); rowData [count][10]=resultSet.getString("备注"); count++; p=false; Container container=getContentPane(); //获取窗口容器 JTable table=new JTable(rowData,columnNames); //实例化表格 table.getColumn("JAVA").setMaxWidth(35); //设置行宽 container.add(new JScrollPane(table),BorderLayout.CENTER); //增加组件 setSize(650,450); setBackground(Color.green); setVisible(true); //设置窗口可视 //setDefaultCloseDperation(JFrame.EXIT_ON_CLOSE); } while(p) { JOptionPane.showMessageDialog(null,"对不起,不存在此课程!","张呈刚提醒您.......",JOptionPane.WARNING_MESSAGE); } stmt.close(); con.close(); } catch(Exception ex) { System.out.println(ex.getStackTrace()); System.out.println(ex.getMessage()); } } else if (e.getActionCommand().equals("返回")) { this.dispose(); ManagerInterface n1= new ManagerInterface(); StudentInterface n2=new StudentInterface(); if(Login.jComboBox1.getSelectedIndex()==0) { n1.setVisible(true); n2.dispose();} else if(Login.jComboBox1.getSelectedIndex()==1) { n2.setVisible(true); n1.dispose(); } } } public static void main(String[] args) { OrderByOne n=new OrderByOne(); n.setVisible(true); } private void jbInit() throws Exception { this.getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER)); jButton1.setBounds(new Rectangle(65, 219, 67, 32)); jButton1.setText("排序"); jButton2.setBounds(new Rectangle(199, 219, 66, 32)); jButton2.setText("返回"); jLabel1.setFont(new java.awt.Font("Dialog", 1, 13)); jLabel1.setText("请输入课程名称:"); jLabel1.setBounds(new Rectangle(45, 114, 117, 25)); jTextField1.setText(""); jTextField1.setBounds(new Rectangle(160, 112, 101, 25)); this.getContentPane().add(jButton1, null); this.getContentPane().add(jButton2, null); this.getContentPane().add(jLabel1, null); this.getContentPane().add(jTextField1, null); jButton1.addActionListener(this); jButton2.addActionListener(this); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -