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

📄 addtopic.java

📁 培训时做的学生管理系统.基于J2SE平台开发
💻 JAVA
字号:
package cn.com.studentsystem.classnews;

import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

import cn.com.studentsystem.log.Log;
import cn.com.util.DBConnection;
import cn.com.util.studentsystemcommon.JDatePicker;

public class AddTopic {
	JFrame jf;
	JOptionPane jop = new JOptionPane();
	 public static JTextField title_text ;
	 public static JTextField date_text;
	 public static JTextField author_text;
	 public static JTextArea topic_area;
	
	public AddTopic(){
		
		init();
	}
	
	public void init(){
		jf = new JFrame("消息添加栏");
		jf.setSize(460, 500);
		jf.setLocationRelativeTo(null);
		
		ImageIcon i = new ImageIcon("image//title.png");
		jf.setIconImage(i.getImage());
		
		JLabel title_label = new JLabel("标题",JLabel.CENTER);
	    title_text = new JTextField(53);
		
		JLabel date_label = new JLabel("日期",JLabel.CENTER);
		final JDatePicker date_text  = new JDatePicker();
		
		JLabel author_label = new JLabel("作者",JLabel.CENTER);
		 final JTextField author_text = new JTextField(15);
		
		JLabel topic_label = new JLabel("主题",JLabel.CENTER);
		 final JTextArea topic_area = new JTextArea();
		
		Font f = new Font("",Font.BOLD,15);
		title_label.setFont(f);
		date_label.setFont(f);
		author_label.setFont(f);
		topic_label.setFont(f);
		
		JButton add_button = new JButton("添加");
		JButton cancel_button = new JButton("取消");
		
		add_button.setFont(f);
		cancel_button.setFont(f);
		
//		TopicJPanel jp = new TopicJPanel();
//		TopicJPanel jp1 = new TopicJPanel();
//		TopicJPanel jp2 = new TopicJPanel();
//		TopicJPanel jp3 = new TopicJPanel();
		JPanel jp = new JPanel();
		JPanel jp1 = new JPanel();
		JPanel jp2= new JPanel();
		JPanel jp3= new JPanel();
		
		jp.setBorder(BorderFactory.createTitledBorder("日期和作者:"));
		jp1.setBorder(BorderFactory.createTitledBorder("内容标题:"));
     	jp2.setBorder(BorderFactory.createTitledBorder("按钮组:"));
		
		jp.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));
//		jp1.setLayout(new FlowLayout(FlowLayout.CENTER,20,40));
		jp3.setLayout(new GridLayout(2,1,0,0));
		
		jp.add(date_label);
		jp.add(date_text);
		jp.add(author_label);
		jp.add(author_text);
		
		jp1.add(title_label);
		jp1.add(title_text);
//		jp1.add(topic_label);
		
		jp2.add(add_button);
		jp2.add(cancel_button);
		
		jp3.add(jp,"Center");
		jp3.add(jp1,"South");
	    
	    jf.add(jp3,"North");
	    jf.add(topic_area,"Center");
	    jf.add(jp2,"South");
	    
		
		
		class TopicAction implements ActionListener{

	
    	public void actionPerformed(ActionEvent arg0) {
		
    		if(arg0.getActionCommand().equals("添加")){
    			File file = new File("logdiary.txt");
    			PrintWriter pw = null;
    			try {
    				 pw = new PrintWriter(new FileWriter(file,true),true);
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			Log.log("添加按钮", pw, "点击添加按钮进入将消息写入数据库和JTable");
    		    
    			
    			Connection con = DBConnection.getConnectionOracle();
    		    try {
    			  DefaultTableModel model = (DefaultTableModel)ClassNews.jt1.getModel();
      			int now_row = model.getRowCount();
      			for(int i=now_row-1;i>=0;i--){
  					model.removeRow(i);	
      				
    			}
				PreparedStatement ps = con.prepareStatement("insert into news values(?,?,?,?)");
			    ps.setString(1, date_text.getSelectedItem().toString() );
    		    ps.setString(2, title_text.getText().toString());
			    ps.setString(3, topic_area.getText().toString());
			    ps.setString(4, author_text.getText().toString());
			    ps.executeUpdate();
			    
			    jop.showMessageDialog(null, "添加新闻成功","添加主题提示", JOptionPane.INFORMATION_MESSAGE);
			    DefaultTableModel dem = (DefaultTableModel)ClassNews.jt1.getModel();
				Object[] obj={date_text.getSelectedItem().toString(),title_text.getText().toString(),author_text.getText().toString()}; 
				
			    dem.addRow(obj);
			    
			    jf.dispose();
			    
    		  } catch (SQLException e) {
				
    			  jop.showMessageDialog(null, "该记录已存在");
			} 
    		
    			
    		}else if(arg0.getActionCommand().equals("取消")){
    			File file = new File("logdiary.txt");
    			PrintWriter pw = null;
    			try {
    				 pw = new PrintWriter(new FileWriter(file,true),true);
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			Log.log("取消按钮", pw, "点击取消按钮来取消将消息加入数据库和JTable的操作");
    		  
                jf.dispose();
    		}
		
	  }
			
			
		}
		
		TopicAction topic_action = new TopicAction();
		add_button.addActionListener(topic_action);
		cancel_button.addActionListener(topic_action);
		
		jf.setVisible(true);
		
		
		
		
		
		
		
		
	}

}

⌨️ 快捷键说明

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