java - 线程“AWT-EventQueue-0”中的异常 java.lang.IndexOutOfBoundsException:索引:2,标签计数:2
问题描述
我正在尝试从我的标签中删除一个标签。当我同时添加 2 个或更多选项卡然后删除第一个添加的选项卡时,结果是异常。为什么?
添加选项卡中的代码:
String name4 = "Untitled" + jTabbedPane2.getTabCount();
name3=new JLabel("Untitled" + jTabbedPane2.getTabCount());
pnlTab = new JPanel(new GridBagLayout());
text=new JTextArea();
text.setWrapStyleWord(true);
text.setLineWrap(true);
text.setFont(new Font("Tahoma", Font.PLAIN, 72));
pnlTab.setOpaque(false);
button = new JButton("X");
button.setForeground(Color.red);
gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.weightx = 0;
pnlTab.add(name3, gbc);
gbc.gridx++;
gbc.weightx = 0;
pnlTab.add(button, gbc);
jTabbedPane2.addTab(null, text);
jTabbedPane2.setTabComponentAt(jTabbedPane2.getTabCount()-1, pnlTab);
删除选项卡中的代码:
private void jTabbedPane2MousePressed(java.awt.event.MouseEvent evt) {
int index = jTabbedPane2.getSelectedIndex();
button.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
jTabbedPane2.remove(index);
}
});
}
为什么结果是:
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 2, Tab
count: 2
解决方案
推荐阅读
- ruby - 如何在 Rails 中的子模型中访问父模型 DB 道具(父父的 _id)?
- python - 为什么不能将生成器函数用作插槽?
- .net - 发布(文件系统方法)完成后有没有办法执行命令?
- mongodb - 在特定文档上放松
- php - 将文本链接更改为按钮
- php-curl - 如何在 php curl 代码中转换“curl -k https://www.example.com”?
- c# - InvalidOperationException:实体类型
没找到。确保实体类型已添加到模型中 - gps - 确定两点之间的方位变化(空间数据)
- javascript - 循环 JS Array 速度下降 16383 项
- linq - 为 linq to sql 左连接左表上的每条记录选择右表上的最新“N”条记录