【问题标题】:java 130 Process finished with exit code 130java 130 进程以退出代码 130 结束
【发布时间】:2020-12-11 11:37:31
【问题描述】:

我希望为未来的项目测试代码(如下)

我显示所有 contPanel。

我选择了几个 contPanel 对象。

我只用 jButton 删除选定的 contPanel

删除选定的contPanel后,它会在框架中放置其他contPanel。

但所有内容均未显示,我收到错误消息:

与目标VM断开连接,地址:'127.0.0.1:60359',传输:'socket'

进程以退出代码 130 结束(被信号 2:SIGINT 中断)

我哪里错了? 我能做些什么? intellij 的更新不会改变任何东西。

我:

1)

ubuntu 20.04

  1. 智能

IntelliJ IDEA 2020.3(社区版) 构建 #IC-203.5981.155,构建于 2020 年 11 月 30 日 运行时版本:11.0.9+11-b1145.21 amd64 虚拟机:JetBrains s.r.o 的 OpenJDK 64 位服务器虚拟机。 Linux 5.4.0-56-通用 GC:ParNew、ConcurrentMarkSweep 内存:1981M 核心:8 非捆绑插件:com.jetbrains.edu 当前桌面:ubuntu:GNOME

  1. java

java-1.8.0-openjdk-amd64

package suggests.deleteCorrectItem;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

public class Main extends JFrame{
    public ArrayList<Integer> alInteger = new ArrayList<Integer>();
    public ArrayList<ContPanel> alContPanel = new ArrayList<ContPanel>();
    public JPanel mainPanel = new JPanel();
    public int widthFrame = 700;
    public int heightFrame = 120;
    public Dimension dimensionFrame = new Dimension(widthFrame, heightFrame);
    public JScrollPane jScrollPane;
    public JButton jButtonDeleteAll =  new JButton();
    public DeleteListener deleteListener = new DeleteListener();
    public ContPanel contPanel;

    public static void main(String[] args){
        Main myMain = new Main();
    }
    public Main(){
        frameInitialization();
        setBackground(Color.BLUE);
        mainPanel.setBackground(Color.red);
        initObjects();
        buildLayout();
        setVisible(true);
    }
    public void frameInitialization(){
        this.setTitle("fenêtre de test");
        this.setSize(dimensionFrame);
        this.setResizable(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        addScrollPaneFrame();
    }
    public void addScrollPaneFrame(){
        jScrollPane = new JScrollPane(mainPanel);
        jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        add(jScrollPane);
    }
    public void initObjects(){
        for ( int i = 0; i< 15;i++){
            alInteger.add(i);
             contPanel = new ContPanel(alInteger.get(i));
            contPanel.setBackground(Color.green);
            alContPanel.add(contPanel);
        }
        jButtonDeleteAll.addActionListener(deleteListener);

    }
    public void buildLayout(){
        mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.PAGE_AXIS));
        jScrollPane.add(mainPanel);
        fillOfContPanel();
        setContentPane(jScrollPane);

    }
    public void fillOfContPanel(){
        for (int i = 0; i< alInteger.size(); i++){
            mainPanel.add(alContPanel.get(i));
        }
    }
    class ContPanel extends JPanel{
        public Integer integ;
        public JLabel jLabel = new JLabel();
        public JCheckBox jCheckBox = new JCheckBox();
        public ContPanel(Integer integ){
            setBackground(Color.BLACK);
            this.integ = integ;
            jLabel.setText(this.integ.toString());
            add(jLabel);
            add(jCheckBox);
        }
    }
    class DeleteListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent actionEvent) {
            mainPanel = new JPanel();
            for(int i = alContPanel.size()-1; i>= 0 ; i--){
                if(alContPanel.get(i).jCheckBox.isSelected()){
                    alInteger.remove(i);
                    alContPanel.remove(i);
                }
            }
        }
    }
}

【问题讨论】:

标签: java ubuntu intellij-idea


【解决方案1】:

我发现了问题。项目订单。我找回了侵略性的颜色

如果它可以帮助某人

我改变了很多东西......

package suggests.deleteCorrectItem;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

public class Main extends JFrame{
    /**
     This little project shows the display of elements from an arrayList
     with a dedicated checkbox for each of them to select them. The user the items to remove  and
     clicks the jButton.
     The selected items disappear.
     */
    public ArrayList<Integer> alInteger = new ArrayList<Integer>();
    public ArrayList<ContPanel> alContPanel = new ArrayList<ContPanel>();
    public JPanel mainPanel = new JPanel();
    public int widthFrame = 700;
    public int heightFrame = 600;
    public Dimension dimensionFrame = new Dimension(widthFrame, heightFrame);
    public JScrollPane jScrollPane;
    public JButton jButtonDeleteAll =  new JButton("Delete all selected items");
    public DeleteListener deleteListener = new DeleteListener();
    public ContPanel contPanel;

    public static void main(String[] args){
        Main myMain = new Main();
    }
    public Main(){
        frameInitialization();
        initObjects();
        buildLayout();
        setVisible(true);
    }
    public void frameInitialization(){
        this.setTitle("fenêtre de test");
        this.setSize(dimensionFrame);
        this.setResizable(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public void addScrollPaneFrame(){
        jScrollPane = new JScrollPane(mainPanel);
        jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        add(jScrollPane);
    }
    public void initObjects(){
        for ( int i = 0; i< 15;i++){
            alInteger.add(i);
            contPanel = new ContPanel(alInteger.get(i));
            alContPanel.add(contPanel);
        }
        jButtonDeleteAll.addActionListener(deleteListener);

    }
    public void buildLayout(){
        mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.PAGE_AXIS));
        addScrollPaneFrame();
       displayComponents();

    }
    public void refreshMainPanel(){
        clearMainPanel();
        displayComponents();
    }
    public void displayComponents() {
        fillOfContPanel();
        mainPanel.add(jButtonDeleteAll);
        setContentPane(jScrollPane);
    }
    public void clearMainPanel(){
        mainPanel.removeAll();
    }
    public void fillOfContPanel(){
        for (int i = 0; i< alInteger.size(); i++){
            mainPanel.add(alContPanel.get(i));
        }
    }
    class ContPanel extends JPanel{
        /**
         this class represents the item for a specific element of
         an arrayList with a dedicated checkbox.
         */
        public Integer integ;
        public JLabel jLabel = new JLabel();
        public JCheckBox jCheckBox = new JCheckBox();
        public ContPanel(Integer integ){
            this.integ = integ;
            jLabel.setText(this.integ.toString());
            add(jLabel);
            add(jCheckBox);
        }
    }
    class DeleteListener implements ActionListener, Runnable {
        /**
         *
         * @param actionEvent
          this class allows to remove the selected items
          and display the mainPanel after deletion.
         */
        @Override
        public void actionPerformed(ActionEvent actionEvent) {
            run();
        }
        @Override
        public void run() {
            for(int i = alContPanel.size()-1; i>= 0 ; i--){
                if(alContPanel.get(i).jCheckBox.isSelected()){
                    alInteger.remove(i);
                    alContPanel.remove(i);
                }
                refreshMainPanel();
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-04
    • 2017-11-03
    • 2017-01-19
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 2016-02-08
    相关资源
    最近更新 更多