मैंने पहले से ही एक ऐसी ही पोस्ट बनाई है जहाँ मैंने उस प्रश्न को EDIT के रूप में पूछा था। लेकिन मुझे नहीं लगता कि बहुत से लोग इसे इस तरह देखेंगे। मेरा सवाल यह है कि, मैं JTableHeader (इसलिए कॉलम के रंग) का पृष्ठभूमि रंग कैसे बदलता हूं। मुझे पता है कि सामान्य

table.getHeader().setBackground(Color.blue);

काम करना चाहिए, लेकिन यह तब काम नहीं करता जब मैं विंडोज लुक और फील पर लुकएंडफील सेट करता हूं। com.sun.java.swing.plaf.windows.WindowsLookAndFeel

0
KaNaDa 23 मई 2019, 09:17

1 उत्तर

सबसे बढ़िया उत्तर

नीचे दिए गए रूप और शुल्क का उपयोग करने की अनुशंसा की जाती है।

UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());

मैं नीचे पूरा चलाने योग्य नमूना कोड प्रदान करता हूं जहां आप ब्लू कलर टेबल हेडर देख सकते हैं।

import javax.swing.*;
import java.awt.*;

public class TableHeaderExample {
  private JFrame jFrame;

  public TableHeaderExample() {
    jFrame = new JFrame();
  }

  private void setLookAndFeel() {
    try {
      UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
      //Do not use below.
//      UIManager.setLookAndFeel(
//              "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

    } catch (Exception ex) {
      ex.printStackTrace();
    }
  }

  public void createTableWithColorHeader() {
    setLookAndFeel();
    String data[][] = {{"Sambit", "23", "1000"}, {"John", "25", "200"}};
    String column[] = {"EMP NAME", "EMP AGE", "EMP SALARY"};
    JTable jTable = new JTable(data, column);
    jTable.getTableHeader().setBackground(Color.blue);
    jTable.setBounds(30, 40, 200, 300);
    JScrollPane sp = new JScrollPane(jTable);
    jFrame.add(sp);
    jFrame.setSize(300, 400);
    jFrame.setVisible(true);
    jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  }


  public static void main(String[] args) {
    TableHeaderExample example = new TableHeaderExample();
    example.createTableWithColorHeader();
  }
}

छवि के नीचे देखें। यहां छवि विवरण दर्ज करें

निम्न लिंक को भी देखें। http://leo.ugr.es/elvira/ devel/ट्यूटोरियल/Java/uiswing/misc/plaf.html एक पंक्ति उद्धृत करने के लिए है

IManager.getCrossPlatformLookAndFeelClassName() काम करने के लिए गारंटीकृत एक लुक-एंड-फील के लिए स्ट्रिंग देता है - जावा लुक एंड फील। UIManager.getSystemLookAndFeelClassName() वर्तमान प्लेटफॉर्म के रंगरूप को निर्दिष्ट करता है। Win32 प्लेटफॉर्म पर, यह विंडोज लुक एंड फील को निर्दिष्ट करता है

1
Sambit 23 मई 2019, 06:52