写作绅士,读作丧尸 X岛揭示板
顺猴者昌 逆猴者亡 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 官方公众号:【X岛揭示板】 官方微博: 【@X岛极速版】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

No.54067903 - 无标题 - 技术宅


回应模式
No.54067903
名 称
E-mail
标题
颜文字
正文
附加图片
•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。

收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2022-12-09(五)18:36:49 ID:3PClWnF [举报] [订阅] [只看PO] No.54067903 [回应] 管理
肥哥们救救我
java的作业不会写,想了很久也不会( ゚∀。)
jp串内
Tips 无名氏 2099-01-01 00:00:01 ID:Tips超级公民 [举报] No.9999999 管理
(;´Д`)医生!你说话啊!
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2022-12-09(五)18:37:40 ID:3PClWnF (PO主) [举报] No.54067931 管理
jp
无标题 无名氏 2022-12-09(五)18:39:49 ID:3PClWnF (PO主) [举报] No.54067983 管理
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

class ShowState extends JFrame implements ActionListener, Runnable{
JTextArea ta;//分别注册文本区,按钮,文本行,标签和线程
JButton button_start,button_interrupt,button_terminate;
JTextField text_state;
JLabel label;
Thread t;
public ShowState(){
super("演示线程状态");//设置窗口题目
this.setSize(450,300);//设置窗口大小
this.setLocation(200,200) ;//设置窗口位置
this.setDefaultCloseOperation(EXIT_ON_CLOSE);//设置关闭方式
ta=new JTextArea();//设置文本区文字自动滚动并添加文本区
ta.setAutoscrolls(true);
this.add(ta);
button_start=new JButton("启动");//依次注册启动、中断和结束按钮并添加监听器
button_start.addActionListener(this);
button_interrupt=new JButton("中断");
button_interrupt.addActionListener(this);
button_terminate=new JButton("线程结束后");
button_terminate.addActionListener(this);
button_terminate.setEnabled(false);//没有开始的时结束按钮不能使用
button_interrupt.setEnabled(false);//没有开始的时中断按钮不能使用
t=new Thread(this);//创建线程对象,目标对象是当前对象
label=new JLabel("线程状态:");//设置显示状态的文本行,而且不能修改
text_state=new JTextField(" "+t.getState(),10);
text_state.setEditable(false);
JPanel panel=new JPanel();//把按钮、文本行、文本区放入操作面板,设置操作面板布局为流式布局
panel.setLayout(new FlowLayout(0));
panel.add(button_start);
panel.add(button_interrupt);
panel.add(button_terminate);
panel.add(label);
panel.add(text_state);
this.add(panel,BorderLayout.SOUTH);
this.setVisible(true);//设置可见性
}
public static void main(String args[]){
new ShowState();
}

public void actionPerformed(ActionEvent e){
//TODO自动生成方法存根
if(e.getSource()==button_start) {//单击启动按钮时
t=new Thread(this); //重新创建一个线程对象
t.start();
text_state.setText(" "+t.getState());//显示线程状态
button_start.setEnabled(false);//开始之后可以中断但是不可以再开始
button_interrupt.setEnabled(true);
}
if(e.getSource()==button_interrupt) {//单击暂停按钮时
t.interrupt();
text_state.setText(" "+t.getState());//显示线程状态
button_start.setEnabled(true);//暂停之后可以再开始
button_interrupt.setEnabled(false);
button_terminate.setEnabled(true);
}
if(e.getSource()==button_terminate){
//单击‘线程终止后’按钮时,显示线程终止后的状态
text_state.setText(" "+t.getState());
}

}
public void run(){
//TODO自动生成方法存根
int i=1;
while(t.isAlive()&&!t.isInterrupted()){//线程活动且没有中断
String str="a";
if(i%20==0)
str+="\n";
i++;
ta.append(str);
try{
t.sleep(100);
}catch(InterruptedException e){
//TODO自动生成catch块
break;//退出循环
}
}
}//run()方法执行结束,线程对象终止
}
无标题 无名氏 2022-12-09(五)18:40:16 ID:3PClWnF (PO主) [举报] No.54067992 管理
这是上面提到的8.3的代码( ´_ゝ`)
真的看不懂怎么改( ´_ゝ`)
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2022-12-09(五)18:52:16 ID:3PClWnF (PO主) [举报] No.54068247 管理
肥哥们救救我(;´Д`)
jp
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2022-12-09(五)19:46:48 ID:3PClWnF (PO主) [举报] No.54069465 管理
肥哥们救救我(;´Д`)
jp
无标题 无名氏 2022-12-09(五)19:52:05 ID:SRso6VQ [举报] No.54069583 管理
转学业
无标题 无名氏 2022-12-09(五)19:55:44 ID:WTQ0x2R [举报] No.54069686 管理
去技术(码农)版问吧
无标题 无名氏 2022-12-09(五)19:56:26 ID:3q2DzMz [举报] No.54069708 管理
去问一下chatGPT试试( ゚∀。)7
无标题 无名氏 2022-12-09(五)20:17:12 ID:3PClWnF (PO主) [举报] No.54070149 管理
>>No.54067903
举报理由: 串版
转技术(码农)版
无标题 无名氏 2022-12-09(五)21:34:58 ID:rAqxtB9 [举报] No.54071933 管理
只改run方法,目前想到的方案是使用JTextArea的replaceRange方法替换字符串。
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2022-12-10(六)18:45:50 ID:3PClWnF (PO主) [举报] No.54089809 管理
>>No.54071933
感谢肥哥!做出来了!
再来一张jp

UP主: