java——jui的应用

/*
   学java的一些类和方法要搞清楚的层次和结构
 */
package niminglei;
import java.awt.*;
import java.awt.event.*;
public class Test_3{
	public static void main(String[] args)
	{
		aa a=new aa();
	}
}
class aa extends Frame{
	Label l1,l2,l3;
	Button b1,b2,b3,b4,b5,b6;
	TextField tf1,tf2,tf3;
	int count1,count2,count3;
	Color c;
	private class changeText implements	ActionListener,TextListener 
	  //设置监听器,实现按钮的功能和文本框的功能
	{
		public void actionPerformed(ActionEvent e){ //实现按钮的功能
			if(e.getSource()==b1){tf1.setText((count1++)+"");}
			if(e.getSource()==b2){tf2.setText((count2++)+"");}
			if(e.getSource()==b3){tf3.setText((count3++)+"");}
			if(e.getSource()==b4){tf1.setText((count1--)+"");}
			if(e.getSource()==b5){tf2.setText((count2--)+"");}
			if(e.getSource()==b6){tf3.setText((count3--)+"");}
			int c1=Integer.parseInt(tf1.getText());
			int c2=Integer.parseInt(tf2.getText());
			int c3=Integer.parseInt(tf3.getText());
			if(c1>=255) {c1=0;count1=0;}
			if(c2>=255) {c2=0;count2=0;}
			if(c3>=255) {c3=0;count3=0;}
			c=new Color(c1,c2,c3);
			p1.setBackground(c);
		}
	   //文本框的功能
		public void textValueChanged(TextEvent e) {
			c=new Color(Integer.parseInt(tf1.getText()),Integer.parseInt(tf2.getText()),Integer.parseInt(tf3.getText()));
			p1.setBackground(c);
		}
			
	}
	Panel p=new Panel(); //设置两个中间容器
	Panel p1=new Panel();
	GridBagLayout gbl=new  GridBagLayout(); //gbl是网格包布局管理器
	GridBagConstraints gbc=new GridBagConstraints(); //gbc是网格包约束条件
	public aa() //一个构造函数
	{
		setSize(500, 400);
		p.setLayout(gbl);
		gbc.fill=GridBagConstraints.BOTH;
		this.setLabel(); //设置标签
		this.setButton_add(); //设置增加数值的按钮
		this.setTxetField();  // 设置文本框
		this.setButton_sub(); // 设置减少数值的按钮
		this.setPanel();  // 设置中间容器做调色板
		add(p); //这个整体放在一个容器里面
		setVisible(true); //可见
		//窗口的关闭功能
		this.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);
			}
		});
	}
	private void setPanel() {
		gbc.weightx=10; // x的权重
		gbc.weighty=10; // y的权重
		gbc.gridx=0;  //   x距离左上角的距离
		gbc.gridy=4; //   y距离左上角的距离
		gbc.gridwidth=4; // 横向跨几个网格
		//gbc.gridheight=4; 纵向跨几个网格
		gbc.insets=new Insets(10,10,10,10);// 组件之间间距
		/*
		  这些都是对约束条件而言的
		  想要采用它还必须要调用网格包的布局管理器的setConstraints来绑定p1和gbc;
		 */
		p1.setBackground(new Color(220,220,220));
		gbl.setConstraints(p1, gbc);
		p.add(p1);
	}
	private void setButton_sub() {//添加减按钮
		b4=new Button("-");
		b5=new Button("-");
		b6=new Button("-");
	    b4.setFont(new Font("宋体",Font.PLAIN,20));
	    b5.setFont(new Font("宋体",Font.PLAIN,20));
	    b6.setFont(new Font("宋体",Font.PLAIN,20));
		gbc.gridx=3;
		gbc.gridy=0;
		gbl.setConstraints(b4, gbc); //设置网格包布局管理器的约束
		gbc.gridy=1;
		gbl.setConstraints(b5, gbc);
		gbc.gridy=2;
		gbl.setConstraints(b6, gbc);
		p.add(b4);
		p.add(b5);
		p.add(b6);
		b4.addActionListener(new changeText()); //添加监听器,添加监听器的参数为监听器对象
		b5.addActionListener(new changeText());
		b6.addActionListener(new changeText());
	}
	private void setTxetField(){ //添加文本框
		tf1=new TextField(5);
		tf2=new TextField(5);
		tf3=new TextField(5);
		tf1.setText("220");
		tf2.setText("220");
		tf3.setText("220");
		count1=Integer.parseInt(tf1.getText()); //用包装类实现把字符串转换成int类型
		count2=Integer.parseInt(tf2.getText());
		count3=Integer.parseInt(tf3.getText());
		gbc.weightx=1;
		gbc.weighty=1;
		gbc.gridx=2;
		gbc.gridy=0;
		gbl.setConstraints(tf1, gbc);
		gbc.gridy=1;
		gbl.setConstraints(tf2, gbc);
		gbc.gridy=2;
		gbl.setConstraints(tf3, gbc);
		p.add(tf1);
		p.add(tf2);
		p.add(tf3);
		tf1.addTextListener(new changeText());//添加文本框的监听器,方法的参数为一个监听器的对象
		tf2.addTextListener(new changeText());
		tf3.addTextListener(new changeText());
		this.setKeyPress(tf1);//把添加监听器写成了一个方法这个方法可以传参数
		this.setKeyPress(tf2);// 之前我这个功能实现不了
		this.setKeyPress(tf3);//是什么东西传参我搞错了,方法传参而不是类传参。
	}
	private void setKeyPress(TextField tf)
	{
		tf.addKeyListener(new KeyAdapter() { //键盘监听器
			public void keyPressed(KeyEvent e) //键控的
			{
				char ch = e.getKeyChar(); //得到键盘上的值
				if(!(ch>='0'&&ch<='9'))
				{
					e.consume();//不是0~9的数字就不读取
				}
			}
		});
	}
	private void setButton_add() {	
		b1=new Button("+");
		b2=new Button("+");
		b3=new Button("+");
	    b1.setFont(new Font("宋体",Font.PLAIN,20));
	    b2.setFont(new Font("宋体",Font.PLAIN,20));
	    b3.setFont(new Font("宋体",Font.PLAIN,20));
		gbc.insets=new Insets(10,80,10,10);
		gbc.gridx=1;
		gbc.gridy=0;
		gbc.weightx=1;
		gbc.weighty=1;
		gbl.setConstraints(b1, gbc);
		gbc.gridy=1;
		gbl.setConstraints(b2, gbc);
		gbc.gridy=2;
		gbl.setConstraints(b3, gbc);
		p.add(b1);
		p.add(b2);
		p.add(b3);
		b1.addActionListener(new changeText());
		b2.addActionListener(new changeText());
		b3.addActionListener(new changeText());
	}
	private void setLabel()
	{	
		l1=new Label("红色",Label.CENTER);
		l2=new Label("绿色",Label.CENTER);
		l3=new Label("蓝色",Label.CENTER);
		l1.setBackground(Color.RED);
		l2.setBackground(Color.GREEN);
		l3.setBackground(Color.BLUE);
		gbc.gridx=0;
		gbc.gridy=0;
		gbc.weightx=1;
		gbc.weighty=1;
		gbc.insets=new Insets(10,10,10,10);
		gbl.setConstraints(l1, gbc);
		gbc.gridy=1;
		gbl.setConstraints(l2, gbc);
		gbc.gridy=2;
		gbl.setConstraints(l3, gbc);
		p.add(l1);
		p.add(l2);
		p.add(l3);
	}
}


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中进行数据库操作可以使用JDBC(Java Database Connectivity)技术,而JUIJava User Interface)是Java用户界面的缩写,两者并没有直接关系。如果您想了解如何使用Java进行数据库操作,可以参考以下步骤: 1. 导入JDBC驱动程序:在Java程序中使用JDBC连接数据库,需要先导入相应的JDBC驱动程序。不同的数据库有不同的驱动程序,需要根据使用的数据库类型选择相应的驱动程序。例如,使用MySQL数据库可以使用以下代码导入MySQL的JDBC驱动程序: ```java Class.forName("com.mysql.jdbc.Driver"); ``` 2. 建立数据库连接:使用JDBC连接数据库需要提供数据库的连接信息,包括数据库的URL、用户名和密码等。例如,使用MySQL数据库可以使用以下代码建立数据库连接: ```java String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, user, password); ``` 3. 创建Statement对象:在Java程序中使用JDBC执行SQL语句需要创建Statement对象。例如,使用MySQL数据库可以使用以下代码创建Statement对象: ```java Statement stmt = conn.createStatement(); ``` 4. 执行SQL语句:使用Statement对象执行SQL语句。例如,查询表中的数据可以使用以下代码: ```java String sql = "SELECT * FROM user"; ResultSet rs = stmt.executeQuery(sql); ``` 5. 处理查询结果:使用ResultSet对象处理查询结果。例如,遍历查询结果可以使用以下代码: ```java while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("id: " + id + ", name: " + name + ", age: " + age); } ``` 6. 关闭数据库连接:在Java程序中使用JDBC连接数据库后,需要关闭数据库连接。例如,使用以下代码关闭MySQL数据库连接: ```java rs.close(); stmt.close(); conn.close(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值