图形界面及应用系统的设计

 制作一个留言板的界面,

并按要求加入所需控件,并能按要 求进行窗口控件的布局。并按要求 为按钮、文本框、窗口添加事件, 使之实现提交显示留言,清屏,留 言至顶和至尾。

注意:

1 、留言内容显示格式如:
2009-03-04 12:35 微笑 地说: 今天下午去图书馆吗?
其中黑体字来源于数据库中的留言表,将所有记录,倒序显示出来。
2 、通过一个简单的 Access 数据库,对留言信息进行数据存储、读取、删除。
1 )需要两个表: A 、表情表( Face_ID Face_Text ),用于存储表情,如:微笑、大哭、
流泪等;
B 、留言表 (Msg_ID,Msg_Time,Msg_FaceID,Msg_content) ,用于存储留言
记录,其中时间是提交留言的当前时间。
3 、清屏代表清除留言内容(包含留言表中的记录),至顶和至尾需要移动
文本区域里面的光标,使其指向第一个位置和最后一个位置。(设置光标位置函
数为: setCaretPosition int 位置))
4 、(选作)维护表情表,增加、删除、修改表情内容
5 、时间安排:前 3 学时,做界面和基本的显示效果操作事件,后 3 学时将
数据库操作引入相关的事件中
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.*;  
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.ResultSet; 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.*;




public class GUI extends JFrame{
	
	
	
	
	
	String 时间,内容;

	JLabel 你,说,留言板标题;
	JComboBox<String> 下拉列表;
	
	JTextField 单行文本;
	JTextArea 多行文本;

	JButton 清屏,置顶,置尾,提交;
	
       

        public GUI(){

	super("留言板程序");
	
        
        JPanel 北方 = new JPanel();
        留言板标题 = new JLabel("留言板");
        北方.add(留言板标题);
       

        多行文本 = new  JTextArea("请输入留言:",20,20);
        JScrollPane 滚动容器 = new JScrollPane(多行文本);
	滚动容器.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
	滚动容器.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);


	多行文本.setEditable(false);
        
        
        清屏 = new JButton("清屏");
        置顶 = new JButton("置顶");
        置尾 = new JButton("置尾");
	JPanel 东方 = new JPanel();
	GridLayout 网格布局 = new GridLayout(10,1);
	//网格布局.setVgap(20);
	东方.setLayout(网格布局);
	东方.add(清屏);
	东方.add(new JPanel());
	东方.add(置顶);
	东方.add(new JPanel());
	东方.add(置尾);

	JPanel 南方 = new JPanel();
	你 = new JLabel("你 ");
	//Vector<String> s = new BQ().biaoqing();
	String []s = {"微笑","大笑","苦笑"};
	下拉列表 = new JComboBox<String>(s);
	说 = new JLabel(" 地说: ");
	单行文本 = new JTextField(20);
	提交 = new JButton("提交");
	南方.add(你);
	南方.add(下拉列表);
	南方.add(说);
	南方.add(单行文本);
	南方.add(提交);
	


        add(北方,BorderLayout.NORTH);
	add(滚动容器,BorderLayout.CENTER);
	add(东方,BorderLayout.EAST);
	add(南方,BorderLayout.SOUTH);
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		
	//setSize(600,400);
	setResizable(false);
	pack();
		
	提交.addActionListener(new ActionListener(){

		public void actionPerformed(ActionEvent e){

			String str = 你.getText()+下拉列表.getSelectedItem()+说.getText()+单行文本.getText();
			
			多行文本.append('\n'+str);

			
			单行文本.setText("");

			write(str);

}



});
	
	
	setVisible(true);
		
}


public void write(String str){

			try{

			
			

			Class.forName("com.mysql.jdbc.Driver");
			Connection c = DriverManager.getConnection("
jdbc:mysql://127.0.0.1:3306/我的数据库?characterEncoding=utf-8","root","");
			Statement s = c.createStatement();
			
			s.executeUpdate("insert into `我说你听` (输入信息) values ('"+str+"')");
			
			
			
			s.close();
			c.close();

			}
		catch (ClassNotFoundException  e){

			System.err.println("异常:"+e.getMessage());
					}

		catch (SQLException e){

			System.err.println("异常:"+e.getMessage());
					}





}
	
	
	


	public static void main(String args[]){

		new GUI();
		

						}}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值