- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 jframe,我有一个连接到 sql 数据库的 jtable,我在 jtable 中添加了一个复选框列,如果用户单击而不是按下更新按钮,它将更新表中的某些列,在 jtable 的顶部我放了另一个复选框,如果单击它而不是它应该选择所有复选框,我尝试使用鼠标单击事件但我不知道为此使用什么代码,那么我怎样才能使它工作,请帮助我的代码在下面
import java.awt.EventQueue;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Font;
import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.JCheckBox;
public class Attendance extends JFrame implements MouseListener{
static JTable table;
JLabel lblDate;
JLabel lblNewLabel;
JCheckBox chckbxSelectAll;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
Attendance frame = new Attendance();
frame.setVisible(true);
}
});
}
/**
* Create the frame.
*/
public Attendance() {
getContentPane().setBackground(Color.WHITE);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 400);
setLocationRelativeTo(null);
getContentPane().setLayout(null);
// Customer List
JLabel lblAttendance = new JLabel("<html><u>Attendance</u></html>");
lblAttendance.setBounds(231, 11, 143, 25);
lblAttendance.setFont(new Font("Lucida Calligraphy", Font.BOLD, 20));
getContentPane().add(lblAttendance);
// ScrollPane
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(28, 59, 525, 240);
getContentPane().add(scrollPane);
// Table
table = new JTable();
scrollPane.setViewportView(table);
// Button Update
JButton btnUpdate = new JButton("Update");
btnUpdate.setBounds(255, 310, 89, 30);
btnUpdate.setFont(new Font("Verdana", Font.PLAIN, 15));
btnUpdate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
UpdateData();
//UpdateData(strUserID); // Update Data
PopulateData(); // Reload Table
}
});
getContentPane().add(btnUpdate);
chckbxSelectAll = new JCheckBox("Select All");
chckbxSelectAll.setBounds(459, 29, 97, 23);
chckbxSelectAll.setBackground(Color.WHITE);
chckbxSelectAll.setFont(new Font("Verdana", Font.PLAIN, 15));
chckbxSelectAll.addMouseListener(this);
getContentPane().add(chckbxSelectAll);
lblDate = new JLabel("");
lblDate.setFont(new Font("Verdana", Font.PLAIN, 15));
lblDate.setBounds(28, 35, 136, 13);
getContentPane().add(lblDate);
clock();
PopulateData();
}
private void clock()
{
Calendar cal = new GregorianCalendar();
int day = cal.get(Calendar.DAY_OF_MONTH);
int month = cal.get(Calendar.JANUARY);
int year = cal.get(Calendar.YEAR);
lblDate.setText("Date :"+year+"/"+month+"/"+day+"");
}
private static void PopulateData() {
// Clear table
table.setModel(new DefaultTableModel());
// Model for Table
DefaultTableModel model = new DefaultTableModel() {
public Class<?> getColumnClass(int column) {
switch (column) {
case 0:
return String.class;
case 1:
return String.class;
case 2:
return String.class;
case 3:
return String.class;
case 4:
return int.class;
case 5:
return Boolean.class;
default:
return String.class;
}
}
};
table.setModel(model);
// Add Column
// model.addColumn("Select");
model.addColumn("UserId");
model.addColumn("Name");
model.addColumn("Date");
model.addColumn("Attended");
model.addColumn("Count");
model.addColumn("Select");
Connection con = null;
Statement s = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:Project");
s = con.createStatement();
String sql = "SELECT * FROM Attendance ";
ResultSet rec = s.executeQuery(sql);
int row = 0;
while ((rec != null) && (rec.next())) {
model.addRow(new Object[0]);
model.setValueAt(false, row, 4); // Checkbox
model.setValueAt(rec.getString("UserId"), row, 0);
model.setValueAt(rec.getString("Name"), row, 1);
model.setValueAt(rec.getString("Date"), row, 2);
model.setValueAt(rec.getString("Attended"), row, 3);
model.setValueAt(rec.getString("Count"), row, 4);
row++;
}
} catch (Exception e) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(null, e.getMessage());
e.printStackTrace();
}
}
// Update
private void UpdateData() {
Connection connect = null;
Statement s = null;
ResultSet rs = null;
try {
System.out.println("Entered");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connect = DriverManager.getConnection("jdbc:odbc:Project");
System.out.println("Connected");
s = connect.createStatement();
String Query2 = "select * from Attendance ";
rs = s.executeQuery(Query2);
String id = "";
while (rs.next()) {
id = rs.getString(1);
}
System.out.println(id);
//System.out.println(strUserID);
String sql = "UPDATE Attendance SET Count=(Count+1) where UserId = '" + id + "'";
s.executeUpdate(sql);
System.out.println("Updated");
String sql2 = "UPDATE Attendance SET Attended=('Present') where UserId = '" + id + "'";
s.executeUpdate(sql2);
System.out.println("Done");
} catch (Exception e) {
// TODO Auto-generated catch block
//JOptionPane.showMessageDialog(null, e.getMessage());
e.printStackTrace();
}
}
@Override
public void mouseClicked(MouseEvent e) {
// throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
if(e.getSource()==chckbxSelectAll)
{
//System.out.println("Select ALL");
}
}
@Override
public void mousePressed(MouseEvent e) {
//throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void mouseReleased(MouseEvent e) {
//throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void mouseEntered(MouseEvent e) {
// throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void mouseExited(MouseEvent e) {
// throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
最佳答案
用下面的代码替换你的鼠标点击事件代码
@Override
public void mouseClicked(MouseEvent e) {
if(chckbxSelectAll.isSelected()){
for(int i=0;i<table.getRowCount();i++)
table.getModel().setValueAt(true, i, 5);
}else{
for(int i=0;i<table.getRowCount();i++)
table.getModel().setValueAt(false, i, 5);
}
}
关于java - 如何使全选复选框起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28169203/
我希望 CheckboxModel 在呈现网格时显示为全部选中: 这是我的代码: sm = Ext.create('Ext.selection.CheckboxModel', { li
我有一些按钮可以转换为复选框。单击按钮后,我只需将图标更改为复选标记和背景。我在按钮标签后面有一个隐藏的复选框,当单击按钮时该复选框会更新。 我面临的问题是,当我单击“全选”时,该元素的 btn 和图
我有一个 javascipt 如下: if(document.forms[0].Check_All.value=="Select All"){ for (i = 0; i < chk.leng
我有下表: 书 book_id | book_name | book_photo 标题栏 rubric_id | rubric_name 作者 author_id | first_name | las
我看过this这似乎对我的代码没有影响。我试过了 this这似乎只影响第一个复选框,但当我再次单击它时不会取消选中该复选框....我还看到了其他一些我不确定是否完全符合 Rails 风格(或任何术语)
希望从 Barcharts.com 复制股票期权数据并粘贴到 Excel 表中。 Sub CopyTables() Dim ie As Object Dim I As Long
当用户单击 TEdit1 或单击选择其中的某些文本时,如何选择 TEdit1 的所有文本 最佳答案 执行超出 TEdit 控件默认行为的任何操作都可能非常危险。您的用户知道标准 Windows 控件的
我想打开,然后选择 Word 文档中的所有文本,而不是任何属性、格式等。我搜索了该站点并用谷歌搜索了无止境。基本上类似于打开 Word 文档并按 Ctrl-A 并将结果分配给变量。 $word = N
我在表中有带有标签的复选框。我在表“全选”之外添加了一个复选框,ID 为“chkbox”。现在下面的代码工作正常。这是选择和取消选择表中的所有复选框。现在有一些页面由于业务逻辑而禁用了一些复选框。我希
我有以下 list 和任务结构 现在我想如果有人检查一个任务,我想确保检查 list 也得到检查。当有人取消选中 list 时,所有任务都应该取消选中。
我目前正在使用 Footables显示表格数据。每行都有一个复选框。有一个主复选框可以全选。我遇到了一些困难。该表有一个过滤器。当我应用过滤器并尝试选中该过滤器中的所有复选框时,它不起作用。此外,由于
这是我的代码 my $results = $dbh->selectall_hashref('SELECT * FROM sample.teachers where term like "$search
如果您单独单击每个框,则求和部分起作用,但当您单击全选时则不起作用(尽管全选确实会选中所有框) 有什么想法吗? jQuery Example $(document).ready( func
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭
代码如下: function selectAll(obj) { var theTable = obj.parentNode.parentNode.parentNode.p
我正在处理 DB2 上的一些 SQL 查询。是否可以选择表中的所有列并在该选择语句中使用“as”关键字指定某些条件?例如,这个查询是否可行: select *, col1 + col2 as
我正在尝试创建一个 VB 脚本来导航到网站、全选、复制,然后将复制的数据从剪贴板保存到文本文件,但我被卡住了! :( 这是我到目前为止得到的: With CreateObject("InternetE
我的 Shiny 应用中有一个 checkboxGroupInput,代码如下: checkboxGroupInput("sexe", "Sexe:", c("Masculin" = "mas","F
我想覆盖鼠标单击 DataGridView 标题/列单元格(顶部,左侧单元格)的行为。该单元格会导致所有行都被选中。相反,我想阻止它选择所有行。我看到了 RowHeaderSelect 和 Colum
我正在使用 Angular JS 显示来自 REST API 的输出响应(JSON)。我计划为用户提供列出的每个结果的复选框选项以及全选/取消全选复选框。我一直致力于实现全选/取消全选实现、如何实现全
我是一名优秀的程序员,十分优秀!