小编use*_*799的帖子

JTextField setText()方法在run()方法中不起作用

我遇到了JTextField类的setText()方法的问题.简而言之,它在下面的CounterPanel类中不起作用.它在run()方法中调用,它不会更新文本字段.其余代码运行(可以使用我留下的println()语句打印到控制台.

这些面板被添加到MainWindow类中,我也包含在下面.MainWindow中有4个CounterPanel,每个都有自己的线程.正如我所说,run()方法中的其余代码工作正常,所以有人能告诉我哪里出错了吗?

非常感谢.

import java.awt.Color;

import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import net.miginfocom.swing.MigLayout;

public class CounterPanel extends JPanel implements Runnable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private JLabel labelOne = new JLabel("Counter 1");
    private JTextField textFieldOne = new JTextField(3);
    private JLabel labelTwo = new JLabel("Counter 2");
    private JTextField textFieldTwo = new JTextField(3);

    private int counter;
    private String counterAsString = Integer.toString(counter);

    public CounterPanel() {
        this.setLayout(new MigLayout());
        this.setBorder(BorderFactory.createLineBorder(Color.black, 1));
        this.add(labelOne);
        this.add(textFieldOne);
        this.add(labelTwo);
        this.add(textFieldTwo);
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

java swing multithreading

2
推荐指数
1
解决办法
2441
查看次数

远程主机上的Bash命令替换

我正在尝试运行一个bsh脚本ssh到远程主机并停止正在运行的单个docker容器.

#!/usr/bin/env bash

set -e

ssh <machine> <<EOF

container=$(docker ps | awk 'NR==2' | awk '{print $1;}')

docker stop $container

EOF
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

stop.sh: line 4: docker: command not found
Run Code Online (Sandbox Code Playgroud)

当我手动执行此操作(ssh到机器,运行命令)一切都很好,但是当尝试通过脚本执行此操作时,我得到错误.我猜我的命令替换语法是不正确的,我搜索并尝试了各种报价等但无济于事.

谁能指出我哪里出错?

linux ssh bash

0
推荐指数
1
解决办法
791
查看次数

标签 统计

bash ×1

java ×1

linux ×1

multithreading ×1

ssh ×1

swing ×1