java复选框如何显示在文本雨_java – 使用复选框在文本区域中包装文本

我在Swing中创建了一个用于编辑数据的对话框.它包含一个JTextArea,两个JButton实例(OK& Cancel)和一个JCheckBox(Wrap Text).我想要做的是在用户单击复选框时将文本区域中的文本包装起来.我最初使用setLineWrap(true)包装文本.

我使用以下代码:

Runnable r1=new Runnable() {

@Override

public void run() {

System.out.println("True");

keyField.setLineWrap(true);

keyField.requestFocus();

}

};

Runnable r2=new Runnable() {

@Override

public void run() {

System.out.println("FALSE");

keyField.setLineWrap(false);

keyField.repaint();

keyField.requestFocus();

}

};

final Thread t1=new Thread(r1) ;

final Thread t2=new Thread(r2);

final JCheckBox chkSwing = new JCheckBox("Word Wrap",true);

chkSwing.addItemListener(

new ItemListener() {

@Override

public void itemStateChanged(ItemEvent e) {

//To change body of implemented methods use File | Settings | File Templates.

if (e.getStateChange() == ItemEvent.SELECTED) {

t1.start();

} else if (e.getStateChange() != ItemEvent.SELECTED){

t2.start();

}

}

});

panel.add(chkSwing);

问题

问题是,一旦我取消选中复选框,文本就会被解包,但再次检查复选框不会再次包装文本.控制台显示正在调用该线程.如何使复选框工作以设置/取消设置文本区域的自动换行行为?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值