【发布时间】: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
- 智能
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
- 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 program exit with code "130"
标签: java ubuntu intellij-idea