相关疑难解决方法(0)

双击JList元素上的事件

我有JList一个DefaultListModel.

如何在JList双击事件的反应中制作一个项目?

java swing jlist defaultlistmodel

69
推荐指数
3
解决办法
7万
查看次数

使用AbstractTableModel在JTable中获取选定的行

我有一个JTable使用AbstractTableModel在那里我有一个JCheckBox在选择行的第一列.现在,我需要从表中选择要检查的选定行.现在,我顺序遍历从第一行到最后一行并获取所有选择的行,如下所示,

List<Integer> selectedRows = new ArrayList<Integer>();
for(int i = 0; i < table.getRowCount(); i++) {
     if((Boolean) table.getValuAt(i, 0)) {
         selectedRows.add(i);
     }
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是,当需要获取所选行时,我需要遍历所有行.现在我有10到20行.但是将来我会得到5000行左右.我的问题是,如果有5000行,如果用户只选择5000nd(最后一条记录)行,那么我需要遍历所有5000行以获得所选行.我认为这不是一个好方法.

我想要实现的一种方法是,向JCheckBox列添加一个监听器,这样当有任何更改时,(SELECTED/DESELECTED)我需要更新监听器类中所选行的数组.在这个监听器类中,当用户选择JCheckBox我需要调用时table.getSelectedRow(..),如果JCheckBox选择了那个我需要存储.

还有更好的方法吗?

java swing jtable listener jcheckbox

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

如何处理摆动中图像显示的错误文件选择

我正在学习Swing并编写了一个应用程序,让用户可以选择一个图像文件并将其显示在JPanel.它有效,但我想处理时的情况

  1. 用户不选择任何文件
  2. 用户选择非图像文件

在这些情况下,我想清除JPanel并在文本区域显示错误消息.

我尝试这样做如下.但我不确定这是否是正确的方法.我想你的建议.

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;

class Display extends JFrame {

    private MyImagePanel canvas;
    private JButton okbutton;
    private JTextArea result;
    private JFileChooser filechooser;
    private static Insets insets = new Insets(0, 0, 0, 0);

    public Display(String name) {
        super(name);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new GridBagLayout());
        addWidgets();
        showGUI();
    }

    private void showGUI() {
        this.pack();
        this.setVisible(true);
    }

    private void addWidgets() {
        canvas = new MyImagePanel();
        okbutton = …
Run Code Online (Sandbox Code Playgroud)

java swing

3
推荐指数
1
解决办法
1636
查看次数

标签 统计

java ×3

swing ×3

defaultlistmodel ×1

jcheckbox ×1

jlist ×1

jtable ×1

listener ×1