Java Swing 复习(2) JTable

给textarea设置样式:

//设置样式
	private void setStyle(){
		Font font=new Font("宋体",Font.BOLD,26);
		area.setText("linweida");
		area.setFont(font);
		area.setForeground(Color.RED);
		area.setBackground(new Color(178,178,178));
	}
@Override
	public void actionPerformed(ActionEvent e) {
		String cmd=e.getActionCommand();
		System.out.println(cmd);
//		e.getSource()
//		area.setText(area.getText()+cmd+"按钮被点击\n");
		area.append(cmd+"按钮被点击\n");
	}
以“按纽”的事件为例,同一个JFrame里可能有多个按钮的事件,为了避免冲突,给每个按钮设置不同的ActionCommand,在监听时间的时候,用这个做条件区分事件,以做不同的响应。而这个e.getActionCommand方法返回String,通过这个String能判断是哪个按钮触发了事件。

举一个简单例子:
  
Button b = new Button("button1");

触发这个按钮,执行
String str = e.getActionCommand(); 会得到String str ="button1";

而e.getSource方法返回的是对象

即触发这个按钮,执行得到的是b.

总之,getActionCommand()依赖于按钮上的字符串,getSource()依赖于事件对象

案例JTable的使用:
1.
String[][] data={{"1","aaa","24"},
						 {"2","bbb","34"},
						 {"3","ccc","26"},
						 {"4","ddd","29"},
						 {"5","eee","14"},
						 {"6","fff","54"},
						 {"7","ggg","34"},
						 {"8","hhh","32"},
						 {"9","iii","86"},
						 {"9","iii","86"}};
		
		MyTableModel tm=new MyTableModel(data);
		JTable jt=new JTable(tm);
              JScrollPane jsp=new JScrollPane(jt);
	      jf.add(jsp);


package www9m3;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;

public class TestJTable {
	public static void main(String[] args) {
		JFrame jf=new JFrame();
		
		String[][] data={{"1","aaa","24"},
						 {"2","bbb","34"},
						 {"3","ccc","26"},
						 {"4","ddd","29"},
						 {"5","eee","14"},
						 {"6","fff","54"},
						 {"7","ggg","34"},
						 {"8","hhh","32"},
						 {"9","iii","86"},
						 {"9","iii","86"}};
		
		MyTableModel tm=new MyTableModel(data);
		JTable jt=new JTable(tm);
		JScrollPane jsp=new JScrollPane(jt);
		jf.add(jsp);
		
		
		jf.pack();
		jf.setVisible(true);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
	}
}


class MyTableModel extends AbstractTableModel{
	private String[][] data;
	public MyTableModel(String[][] data) {
		super();
		this.data = data;
	}

	@Override
	public int getColumnCount() {
		return 3;
	}

	@Override
	public int getRowCount() {
		return 10;
	}

	@Override
	public Object getValueAt(int rowIndex, int columnIndex) {
		return data[rowIndex][columnIndex];
	}
	
	@Override
	public String getColumnName(int column) {
		switch (column) {
		case 0:
			return "id";
		case 1:
			return "name";
		case 2:
			return "age";
		case 3:
			return "else";
		}
		return null;
	}
}

方法二:
package www9m3;


import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;


public class TestJTable2 {
	public static void main(String[] args) {
		JFrame jf=new JFrame();
		
		String[][] data={{"1","aaa","24"},
						 {"2","bbb","34"},
						 {"3","ccc","26"},
						 {"4","ddd","29"},
						 {"5","eee","14"},
						 {"6","fff","54"},
						 {"7","ggg","34"},
						 {"8","hhh","32"},
						 {"9","iii","86"}};
		
		DefaultTableModel dtm=new DefaultTableModel();
		
		dtm.addColumn("id");
		dtm.addColumn("name");
		dtm.addColumn("age");
		
		for (int i = 0; i < data.length; i++) {
			dtm.addRow(data[i]);
		}
		
		
		
		JTable jt=new JTable(dtm);
		JScrollPane jsp=new JScrollPane(jt);
		jf.add(jsp);
		
		jf.pack();
		jf.setVisible(true);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值