JButton的setText()和setActionCommand()

我刚开始学java,对JButton的setText()和setActionCommand()的之间的关系不清楚,所以研究了下,发现对于同一个对象,在使用setActionCommand()设定ActionCommand之前,ActionComm的值会随着setText()变化。而在调用setActionCommand()设定ActionCommand之后,ActionCommand的值和Text的值相互独立了,调用setText()就不会改变ActionCommand的值了。代码如下;


import javax.swing.JButton;
import javax.swing.JFrame;

public class Test {

	public static void main(String[] args) {

		JButton but = new JButton("test");                            
		System.out.println("*************************");             //在构造函数中给定字符串,两个值相等
		System.out.println("but.getActionCommand()="+but.getActionCommand());
		System.out.println("but.getText()="+but.getText()+"\n\n");

		System.out.println("********but.setText(\"\")**********");  //<span style="font-family:Arial, Helvetica, sans-serif;">setText("")指定空值,ActionCommand也变为空值</span>
		but.setText("");
		System.out.println("but.getActionCommand()="+but.getActionCommand());
		System.out.println("but.getText()="+but.getText()+"\n\n");

		System.out.println("********but.setText(\"test\")*******"); //setText("test")指定"test",Actioncommand也会变为"test";
		but.setText("test");
		System.out.println("but.getActionCommand()="+but.getActionCommand());
		System.out.println("but.getText()="+but.getText()+"\n\n");

		System.out.println("*****but.setActionCommand(\"\")*****");     //<span style="font-family: Arial, Helvetica, sans-serif;">setActioncommand("")指定空值,text不会变;</span>
		but.setActionCommand("");
		System.out.println("but.getActionCommand()="+but.getActionCommand());
		System.out.println("but.getText()="+but.getText()+"\n\n");

		System.out.println("*******but.setText(\"\")************");      <span style="font-family: Arial, Helvetica, sans-serif;">//</span><span style="font-family: Arial, Helvetica, sans-serif;">setTest("")指定空值</span>

		but.setText("");
		System.out.println("but.getActionCommand()="+but.getActionCommand());
		System.out.println("but.getText()="+but.getText()+"\n\n");

		System.out.println("*****but.setText(\"test\")**************");  //再用setText("test"),ActionCommand就不会跟着变了
		but.setText("test");
		System.out.println("but.getActionCommand()="+but.getActionCommand());
		System.out.println("but.getText()="+but.getText()+"\n\n");

	}

}


运行结果:
********but.setText("")**********
but.getActionCommand()=
but.getText()=




********but.setText("test")*******
but.getActionCommand()=test
but.getText()=test




*****but.setActionCommand("")*****
but.getActionCommand()=
but.getText()=test




*******but.setText("")************
but.getActionCommand()=
but.getText()=




*****but.setText("")**************
but.getActionCommand()=
but.getText()=text


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值