JTextArea 和 JScrollPane


package com.sb;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.*;
import java.util.Scanner;
public class Frame extends JFrame{
	static Font font= new Font(null,Font.ITALIC, 30);
	public static void main(String [] arg){
		new Frame().Creat();
	}
	public void Creat(){
		setFont(font);
		setLayout(null);		
		setBounds(200, 200, 700	, 700);    //JFrame 默认是 borderLayout 布局  JFrame 自身就是一个容器  可以直接add()  也可以用 getContentPane 获得
		setTitle("zhanging");	
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		ImageIcon wrong=new ImageIcon("wrong.png");//“图片名字”  位置 是项目的根目录  可以用   bin/scr/图片名字.jpg  的路径名;
		 wrong.setDescription("ming");//  可以为 图片添加 描述  界面不显示  但是可以用 getDescribtion;

		ImageIcon right=new ImageIcon("right.png");
		JCheckBox man= new JCheckBox("man",wrong,false); 
		JCheckBox woman=new JCheckBox("women",right,false);
		ButtonGroup group= new ButtonGroup();//可以 添加 单选 JRaidoButton 做 选项组  只可以选择一个
		
		JTextArea jt=new JTextArea("begin",5,10);  //初始化
		jt.setLineWrap(true);   //可以使JTextArea 自动换行
		JScrollPane js=new JScrollPane(jt);    // jt添加 到 JS 里后  不考虑 jt 的初设定的行数和列数 直接填充 js
		jt.setFont(font);   //设置字体
		js.setBounds(50, 350, 600, 250);
		jt.setCaretPosition(jt.getText().length());         //自动下滑到最下方  
		class action  implements ItemListener{   	 //局部内部类  可以 直接用  但是 内部类 要有外部类对象支持!
		public void itemStateChanged(ItemEvent e) {  //选项事件  取消 和创建 都会产生一个 事件
			jt.append(String.format("%d", jt.getText().length()));
			if(e.getSource()==man) {
				man.setIcon(right);
				woman.setIcon(wrong);
				jt.append("m");   //添加到后方
			}
			else {
				man.setIcon(wrong);
				woman.setIcon(right);
				jt.append("w");
			}
			}
		}
		action ac=new action();
		man.addItemListener(ac);
		woman.addItemListener(ac);
		man.setBounds(50, 50, 300, 250);
		man.setFont(font);
		woman.setFont(font);
		woman.setBounds(400, 50,300, 250);
		add(man);
		add(woman);
		Container con= getContentPane();
		setBackground(Color.RED);
		add(js);
		setVisible(true);    //必须把窗体内的所有组件 都配置好 之后 在显示 窗体  否则会出现 指针碰一下  才出来组件的情况

	}
	
}






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值