给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);
}
}