⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 infopanel.java

📁 使用JBuilder基于Oracle数据库的课程作业
💻 JAVA
字号:
package StudentManageSystem.factionpanels.infopanel;

import javax.swing.JPanel;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import com.borland.jbcl.layout.XYLayout;
import javax.swing.JLabel;
import javax.swing.JTextField;
import com.borland.jbcl.layout.*;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import StudentManageSystem.link.SQLRunner;
import java.sql.ResultSet;
import java.sql.SQLException;

public abstract class InfoPanel extends JPanel {
    boolean enable;
    protected void initialize(boolean e) throws Exception {
        enable=e;
        this.setLayout(xYLayout1);
        xYLayout1.setWidth(670);
        xYLayout1.setHeight(470);
        jButton_ref.setText("刷新");
        jButton_ref.addActionListener(new MyInfoPanel_jButton_ref_actionAdapter(this));
        jButton_remove.setText("删除");
        jButton_remove.addActionListener(new MyInfoPanel_jButton_remove_actionAdapter(this));
        jButton_sav.setSelectedIcon(null);
        jButton_sav.setText("保存");
        jButton_sav.addActionListener(new MyInfoPanel_jButton_sav_actionAdapter(this));
        jPanel_btn.setLayout(xYLayout2);
        //jPanel_text.setLayout(xYLayout3);
        //this.add(jPanel_text, new XYConstraints(0, 0, 670, 420));
        this.add(jPanel_btn, new XYConstraints(0, 420, 670, 50));
        jPanel_btn.add(jButton_ref, new XYConstraints(306, 5, 70, 30));
        jPanel_btn.add(jButton_sav, new XYConstraints(385, 5, 70, 30));
        jPanel_btn.add(jButton_remove, new XYConstraints(222, 5, 70, 30));
        setSwingEnable(e);//文本框,下拉列表可用
        jButton_ref.setVisible(e);
        jButton_sav.setVisible(e);
        jButton_remove.setVisible(e);

    }

    XYLayout xYLayout1 = new XYLayout();
    //JPanel jPanel_text = new JPanel();
    JPanel jPanel_btn = new JPanel();
    JButton jButton_ref = new JButton();
    JButton jButton_remove = new JButton();
    JButton jButton_sav = new JButton();
    XYLayout xYLayout2 = new XYLayout();
    public boolean updateModel=true;
    String keyValue;
    XYLayout xYLayout3 = new XYLayout();
    public abstract void setSwingEnable(boolean e);//按钮可见,文本框,下拉列表可用
    public abstract boolean delete();
    public abstract boolean update();
    public abstract boolean insert();
    public abstract void setAllInfo(String keyValue);
    public abstract void setAllNew();

    public void jButton_remove_actionPerformed(ActionEvent e) {
        if(delete()){
            JOptionPane.showMessageDialog(null,"已删除信息","系统提示",JOptionPane.INFORMATION_MESSAGE);
            setAllNew();
            }
    }

    public void jButton_ref_actionPerformed(ActionEvent e) {
        if(updateModel)setAllInfo(keyValue);
        else setAllNew();
    }

    public void jButton_sav_actionPerformed(ActionEvent e) {

        if(updateModel){
                if(update()){
                    JOptionPane.showMessageDialog(null,"已更改信息","系统提示",JOptionPane.INFORMATION_MESSAGE);
                }
        }else{
            if(insert()){
                JOptionPane.showMessageDialog(null,"已创建","系统提示",JOptionPane.INFORMATION_MESSAGE);
                updateModel=true;
                //jButton_remove.setVisible(enable);
            }
        }

    }
    void addItem(JComboBox target, String sql, String columnName){
        try {
            target.removeAllItems();
            ResultSet rsex=SQLRunner.getResult(sql);
            while (rsex.next()) {
                target.addItem(rsex.getString(columnName));
            }
        } catch (SQLException ex) {
             JOptionPane.showMessageDialog(null,ex.toString(),"添加项错误",JOptionPane.ERROR_MESSAGE);
             //return false;
        }
    }
    void addItemFromDic(JComboBox jComboBox,String DicTablebName) {
        addItem(jComboBox,"select * from "+DicTablebName,"value");
    }



}


class MyInfoPanel_jButton_sav_actionAdapter implements ActionListener {
    private InfoPanel adaptee;
    MyInfoPanel_jButton_sav_actionAdapter(InfoPanel adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton_sav_actionPerformed(e);
    }
}


class MyInfoPanel_jButton_ref_actionAdapter implements ActionListener {
    private InfoPanel adaptee;
    MyInfoPanel_jButton_ref_actionAdapter(InfoPanel adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton_ref_actionPerformed(e);
    }
}


class MyInfoPanel_jButton_remove_actionAdapter implements ActionListener {
    private InfoPanel adaptee;
    MyInfoPanel_jButton_remove_actionAdapter(InfoPanel adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton_remove_actionPerformed(e);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -