下面列出了javax.swing.text.JTextComponent#setBackground ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public JTextComponent getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) {
JTextComponent renderer = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col);
renderer.setBackground(dataModel.isGoldTagRow(table.convertRowIndexToModel(row)) ? getBackground() : nonGoldRowBackground);
int lastMinimalColumn = associatedType.isExtent() ? TablePanelController.TEXT_COL : Collections.max(((TagTableModel) dataModel).getTextColumns());
if (!dataModel.isGoldTagRow(table.convertRowIndexToModel(row))) {
if (col == TablePanelController.SRC_COL) {
renderer.setForeground(tablePanelController.getMainController().getDocumentColor((String) value));
renderer.setBorder(null);
} else if (((TagTableModel) dataModel).isTextColumn(col) || col > lastMinimalColumn) {
java.util.List[] distribution = getValueDistribution(dataModel, col);
if (distribution != null) {
renderer.setBorder(getAgreementIndicator(distribution, (String) value));
}
} else {
renderer.setBorder(null);
}
} else {
renderer.setBackground(UIManager.getColor("Table.background")); // do not change background on selection
}
return renderer;
}
private void prepareEditor() {
Component c = getEditor().getEditorComponent();
if (c instanceof JTextComponent) {
JTextComponent jtc = (JTextComponent) c;
String s = jtc.getText();
if ((s != null) && (s.length() > 0)) {
jtc.setSelectionStart(0);
jtc.setSelectionEnd(s.length());
}
if (tableUI) {
jtc.setBackground(getBackground());
} else {
jtc.setBackground(PropUtils.getTextFieldBackground());
}
if( tableUI )
jtc.requestFocus();
}
if (getLayout() != null) {
getLayout().layoutContainer(this);
}
repaint();
}
/**
* Set text view background color correctly. See bug #225829.
*/
private void setTextViewBackground(JTextComponent textView, Color bg) {
getOutputPane().getTextView().setBackground(bg);
getOutputPane().getFoldingSideBar().setBackground(bg);
if ("Nimbus".equals(UIManager.getLookAndFeel().getName())) { //NOI18N
UIDefaults defaults = new UIDefaults();
defaults.put("EditorPane[Enabled].backgroundPainter", bg); //NOI18N
textView.putClientProperty("Nimbus.Overrides", defaults); //NOI18N
textView.putClientProperty(
"Nimbus.Overrides.InheritDefaults", true); //NOI18N
textView.setBackground(bg);
}
}
void applyDefaultColoring(JTextComponent textComponent) { // Called in AWT to possibly apply default coloring from settings
AttributeSet coloring = defaultColoring;
Font font = ViewUtils.getFont(coloring);
if (font != null) {
textComponent.setFont(font);
}
Color foreColor = (Color) coloring.getAttribute(StyleConstants.Foreground);
if (foreColor != null) {
textComponent.setForeground(foreColor);
}
Color backColor = (Color) coloring.getAttribute(StyleConstants.Background);
if (backColor != null) {
textComponent.setBackground(backColor);
}
}
private void updateSdkField(JTextComponent sdkEditor) {
FlutterSdk current = FlutterSdk.forPath(sdkEditor.getText());
Color color = sdkBackgroundColor;
if (current == null) {
if (ColorUtil.isDark(sdkBackgroundColor)) {
color = ColorUtil.darker(JBColor.YELLOW, 5);
}
else {
color = ColorUtil.desaturate(JBColor.YELLOW, 15);
}
}
sdkEditor.setBackground(color);
}
private void updateSdkField(JTextComponent sdkEditor) {
FlutterSdk current = FlutterSdk.forPath(sdkEditor.getText());
Color color = sdkBackgroundColor;
if (current == null) {
if (ColorUtil.isDark(sdkBackgroundColor)) {
color = ColorUtil.darker(JBColor.YELLOW, 5);
}
else {
color = ColorUtil.desaturate(JBColor.YELLOW, 15);
}
}
sdkEditor.setBackground(color);
}
/**
*
* @param textComp
* @param editable
*/
public UnDoAbleDocument(JTextComponent textComp, boolean editable) {
this(textComp);
textComp.setEditable(editable);
if (editable) {
textComp.setBackground(ReduxConstants.myEditingWhiteColor);
} else {
textComp.setBackground(ReduxConstants.myNotEditingGreyColor);
}
textComp.addFocusListener(new SelectTextFocusListener());
}
@Override
public JTextComponent getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) {
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col);
JTextComponent renderer;
if (((TagTableModel) table.getModel()).isTextColumn(col)) {
renderer = new JTextPane();
int fontSize = c.getFont().getSize();
((JTextPane) renderer).setContentType("text/plain; charset=UTF-8");
((JTextPane) renderer).setStyledDocument(
FontHandler.stringToSimpleStyledDocument(
(String) value, "dialog", fontSize, getCellForeground(isSelected)));
} else {
renderer = new JTextArea((String) value);
renderer.setFont(c.getFont());
}
if (col == TablePanelController.SRC_COL) {
renderer.setText(FileHandler.getFileBaseName(getText()));
}
renderer.setMargin(new Insets(0, 2, 0, 2));
renderer.setOpaque(true);
renderer.setForeground(getCellForeground(isSelected));
renderer.setToolTipText(value == null ? " " : (String) value);
renderer.setBackground(c.getBackground());
renderer.setBorder(hasFocus ?
UIManager.getBorder("Table.focusCellHighlightBorder")
: BorderFactory.createEmptyBorder(1, 1, 1, 1));
return renderer;
}
public static void readOnly(JTextComponent c, JComponent parent) {
c.setEditable(false);
c.setForeground(parent.getForeground());
c.setBackground(parent.getBackground());
}
@Override
public void documentChanged(DocumentEvent e) {
JTextComponent field = (JTextComponent)e.getDocument().getProperty("parent"); //$NON-NLS-1$
field.setBackground(Color.yellow);
field.setForeground(defaultForeground);
}