sql >> データベース >  >> RDS >> Mysql

データベースのデータを使用してJTableの特定の行を無効にする

    オーバーライドされたprepareRenderer()で試してください データに基づいて行をグレー表示する方法

    サンプルコード:(最初の列の値を使用して検証します)

    Object[] columnNames = { "A", "B", "C", "D" };
    Object[][] data = { 
            { "abc", new Double(850.503), 53, true },
            { "lmn", new Double(36.23254), 6, false }, 
            { "pqr", new Double(8.3), 7, false },
            { "xyz", new Double(246.0943), 23, true } };
    
    JTable table = new JTable(data, columnNames) {
        @Override
        public java.awt.Component prepareRenderer(TableCellRenderer renderer, int row, int col) {
            java.awt.Component comp = super.prepareRenderer(renderer, row, col);
            Object value = getModel().getValueAt(row, 0);
            if (value.equals("lmn")) {
                comp.setBackground(Color.lightGray);
            }  else {
               comp.setBackground(Color.white);
            }
            return comp;
        }
    };
    

    ボタンの場合、値を確認して何もしません。

    選択した行の値を取得するにはどうすればよいですか?

    if(table.getSelectedRow()!=-1){
        int rowIndex=table.getSelectedRow();
        Object value=table.getModel().getValueAt(rowIndex, 0);
        if(value.equals("lmn")){
            //do nothing
        }else{
            // perform desired operation
        }
    }
    



    1. Mongodb:ISODate形式の時間に基づくクエリ。私のクエリの何が問題になっていますか?

    2. エラー1148MySQL使用されているコマンドは、このMySQLバージョンでは許可されていません

    3. MySQLが実行されているポートと接続できるかどうかをテストするにはどうすればよいですか?

    4. MySQL:最も近いものを選択しますか?