相关疑难解决方法(0)

如何将JTable单元格输入标记为无效?

如果我采用a JTable并在其模型上指定列的classtype,如下所示:

   DefaultTableModel model = new DefaultTableModel(columnNames, 100) {
       @Override
        public Class<?> getColumnClass(int columnIndex) {
            return Integer.class;
        }};
Run Code Online (Sandbox Code Playgroud)

然后,只要用户尝试double在表中输入值,Swing就会自动拒绝输入并将单元格的轮廓设置为红色.

当某人输入单元格的"负数或0"输入时,我希望发生相同的效果.我有这个:

    @Override
    public void setValueAt(Object val, int rowIndex, int columnIndex) {
       if (val instanceof Number && ((Number) val).doubleValue() > 0) {
              super.setValueAt(val, rowIndex, columnIndex);
            } 
       }
   }
Run Code Online (Sandbox Code Playgroud)

这可以防止单元格接受任何非正值,但不会将颜色设置为红色并使单元格保持可编辑状态.

我试着调查JTable默认情况下是如何做出拒绝的,但我似乎无法找到它.

如何拒绝非正输入与拒绝非整数输入相同?

谢谢

java validation swing jtable tablecelleditor

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

我可以将JRadioButton添加到JTable中吗?

我试图添加JRadioButtonJTable使用CellEditorCellRenderer,但我不能添加JRadioButtonJTable.我正在使用NetBeans和后端MySQL.请帮我.

编辑:谢谢,但我不知道如何分组JRadioButton.你能帮助我吗?我有4列.第一列单元格包含项目名称,第二列单元格包含数量,第3和第4列单元格包含JRadio Buttons.然后我想分组第3和第4列单元格,每行包含JRadio按钮

编辑:如果我尝试使用此方法在jTable的自定义代码中添加radiobutton,

new JRadioButton("a")然后它会javax.swing.JRadioButton[,0,0,0x0,invalid,alignmentX=0.0,.....text=a],在列中而不是按钮中出现

java swing jtable jradiobutton

5
推荐指数
1
解决办法
2606
查看次数

使用setValueAt重新创建互斥复选框

我有一个使用自定义DefaultTableModel的JTable,它在最后一列中有一些布尔值(显示为勾选框).

当我添加一个MouseListener来检索被点击的值时,似乎不再发生勾选框的切换.

// As soon as this is used in the component
// that is using the JTable, the toggling stops
table.addMouseListener(new MouseAdapter() {  
            public void mouseClicked(MouseEvent evt) {  
                int col = table.getSelectedColumn();  
                int row = table.getSelectedRow();

                Object o = table.getModel().getValueAt(row, col);
Run Code Online (Sandbox Code Playgroud)

我假设侦听器正在使用该事件.我可以将哪些内容添加到MouseListener代码以恢复切换行为?

编辑:

哎呀,问题似乎在于我的覆盖:

@Override
public void setValueAt(Object aValue, int row, int column) {

    // Attempt at mutually exclusive checkboxes
    if( column == 2 ){ // Starts at 0. Seek an alternative solution to avoid hardcoding?
        // Algorithm: cycle …
Run Code Online (Sandbox Code Playgroud)

java swing jtable mouselistener

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

Jtable选择加载后的行

加载Jtable后,会触发一个返回id的函数.我想根据此ID选择行,或者在每行中选中一个复选框.

负载工作正常,复选框显示.但是我无法处理复选框以便以编程方式选择它们.

任何帮助表示赞赏.

我的表创建代码如下:

        //Table Definition
        $('#dvChangeOrd').jtable({
            title: 'Change Order Selection (Select all that apply to this request):',
            paging: true,
            pageSize: 5,
            sorting: true,
            defaultSorting: 'ChangeOrd ASC',
            selecting: true, //Enable selecting
            multiselect: true, //Allow multiple selecting
            selectingCheckboxes: true, //Show checkboxes on first column
            recordsLoaded: function (event, data) {
                },
            actions: {
                listAction: 'c013.aspx/LoadLists',
            },

            fields: {
                ChangeOrd: {
                    title: 'Change Order',
                    width: '15%',
                },
                Type: {
                    title: 'Type',
                    width: '25%',
                },
                Status: {
                    title: 'Status',
                    width: '10%',
                },
                ChangeDesc: { …
Run Code Online (Sandbox Code Playgroud)

html jquery jquery-jtable

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

如何计算JCheckboxes的数量?

我的JFrame中有11个不同的复选框,并且希望能够在检查总数被检查时获得一个数字.我知道如何设置一个ItemListener,看看是否有一个被检查,但我不知道如何检查所有这些..

编辑:

cblist是一个包含11个JCheckBoxes的ArrayList.我给每个JCheckBox一个项目监听器,这里是单击复选框时使用的类...

private class CheckClass implements ItemListener{
      public void itemStateChanged(ItemEvent event){
         for(cblist.isChecked){
             ingnum++;
         }

      }
  }
Run Code Online (Sandbox Code Playgroud)

在for循环中,我如何测试ArrayList的所有元素..我理解我的语法现在不正确.

java swing jframe jcheckbox

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

根据JTable中的第一列值着色特定行?

我正在尝试根据第一列值对特定行进行着色JTable,但下面的代码根据行的索引对行进行着色.我的表只有四列.第一列有ID号.我需要根据这些ID号对行进行着色.例如,如果第一个ID为0而第二个ID也为0,则它​​们都应为"lightGray".好吗,拜托?

table_1 = new JTable(){
    public Component prepareRenderer(TableCellRenderer renderer,int Index_row, int Index_col) {
        Component comp = super.prepareRenderer(renderer,Index_row, Index_col);
            //even index, selected or not selected
            if (Index_row % 2==0  &&  !isCellSelected(Index_row, Index_col)) {
                comp.setBackground(Color.lightGray);
            } else {
                comp.setBackground(Color.white);
            }
            return comp;
        }
    };
Run Code Online (Sandbox Code Playgroud)

以下是它现在的样子:

应该怎么样

java swing jtable tablecellrenderer

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

如何在JTable之后添加JButton

我有一个像这个SSCCE这样的数据的JTable:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.*;
import java.awt.Color;
class kanji{
    public static void main(String args[]){ 
        JFrame frame = new JFrame("Kanji");
        JPanel pane = new JPanel();
        JTable table = new JTable();
        pane.setLayout(new BorderLayout());
        JButton agreg = new JButton("Agregar");         
        DefaultTableModel model = new DefaultTableModel(get_data(), get_header());      
        JFrame hk = new JFrame("Historial de Significados");
        Image icon = Toolkit.getDefaultToolkit().getImage("JLPT.jpg");
        ImageIcon ima = new ImageIcon("JLPT.jpg");
        table = new JTable(model){
            @Override
            public boolean isCellEditable(int …
Run Code Online (Sandbox Code Playgroud)

java swing jtable jbutton

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

无法向JList添加复选框

我是编程的新手,我无法添加JCheckboxJList.没有错误但没有显示任何内容.

JFrame f=new JFrame();
String[] labels={"a","b","c","d","e"};
JCheckBox[] ch=new JCheckBox[labels.length];

JList list=new JList();

for (int i = 0; i < labels.length; i++) {
    ch[i]=new JCheckBox("CheckBox"+i);
    list.add(ch[i]);
}

JScrollPane pane=new JScrollPane(list);
f.add(pane);
f.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

java swing jlist jcheckbox

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

带有动作绑定的jtable复选框

您好我的java swing项目有一个表,最后一列是布尔值..我将其更改为chceckbox.but我需要绑定事件,并知道它是否是检查.. !!

下面的代码工作正在显示复选框

retunTable=new JTable(model){
                  private static final long serialVersionUID = 1L;

                    /*@Override
                    public Class getColumnClass(int column) {
                    return getValueAt(0, column).getClass();
                    }*/
                    @Override
                    public Class getColumnClass(int column) {
                        switch (column) {
                            case 0:
                                return Object.class;
                            case 1:
                                return Object.class;
                            case 2:
                                return Object.class;
                            case 3:
                                return Object.class;
                            default:
                                return Boolean.class;
                        }
                    }
            };
Run Code Online (Sandbox Code Playgroud)

我不知道在哪里放addActionListener .. !!

需要帮助..!!

java swing jtable jcheckbox

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