📄 buttoncelleditor.java
字号:
package com.testDataBuilder.ui.main;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
/**
* Most of the code for this class, ButtonCellEditor,
* came from http://www2.gol.com/users/tame/swing/examples/JTableExamples2.html.
*/
public class ButtonCellEditor extends DefaultCellEditor implements TableCellRenderer {
private JButton button;
private JButton rendererButton;
private String label;
private boolean isPushed;
protected int row = -1;
protected int col = -1;
public ButtonCellEditor(JCheckBox checkBox) {
super(checkBox);
button = new JButton();
button.setOpaque(true);
button.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
fireEditingStopped();
}
}
);
rendererButton = new JButton();
rendererButton.setOpaque(true);
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
if (isSelected) {
rendererButton.setForeground(table.getSelectionForeground());
rendererButton.setBackground(table.getSelectionBackground());
} else{
rendererButton.setForeground(table.getForeground());
rendererButton.setBackground(UIManager.getColor("Button.background"));
}
label = (value == null) ? "" : value.toString();
rendererButton.setText(label);
return rendererButton;
}
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
if (isSelected) {
button.setForeground(table.getSelectionForeground());
button.setBackground(table.getSelectionBackground());
} else{
button.setForeground(table.getForeground());
button.setBackground(table.getBackground());
}
label = (value == null) ? "" : value.toString();
button.setText(label);
isPushed = true;
this.row = row;
this.col = column;
return button;
}
public Object getCellEditorValue() {
if (isPushed) {
doEditing();
}
isPushed = false;
return new String(label);
}
protected void doEditing() {}
public boolean stopCellEditing() {
isPushed = false;
return super.stopCellEditing();
}
protected void fireEditingStopped() {
super.fireEditingStopped();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -