How do I fix black highlight on JFrame?

32 views Asked by At

My Program:

https://i.stack.imgur.com/V5CAv.png

Whenever I start the Program, the entire JLabel and JButton highlight with black shades, and I don't know how to fix this... It is weird that whenever I move the window to other monitor screen, the highlight disappears. But whenever I click the Labels or Buttons it reappears.

here's my code:

package main;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableRowSorter;

import function.Dashboard;
import tableButtons.TableActionCellEditor;
import tableButtons.TableActionCellRenderer;
import tableButtons.TableActionEvent;

import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JButton;
import javax.swing.JToggleButton;
import javax.swing.RowFilter;

import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.awt.event.ActionEvent;
import javax.swing.ImageIcon;
import java.awt.Toolkit;
import java.awt.Color;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import java.awt.Font;
import java.awt.Image;

import javax.swing.JTextField;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class Main extends JFrame {

    private static final long serialVersionUID = 1L;
    public static JPanel contentPane;
    public static JPanel panel;
    private JTable table;
    private JTextField txtModel;
    private JTextField txtAffair;
    private JTextField txtClient;
    private JTextField txtPossession;
    private JTextField txtFixed;
    private JTextField txtStatus;
    private JTextField txtSearch;
    private DefaultTableModel model;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Main frame = new Main();
                    frame.setVisible(true);
                    frame.setLocationRelativeTo(null);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public Main() {
        setIconImage(Toolkit.getDefaultToolkit().getImage(Main.class.getResource("/files/LightBackground.png")));
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 1020, 570);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

        setContentPane(contentPane);
        contentPane.setLayout(null);

        panel = new JPanel();
        panel.setBackground(new Color(0, 0, 0, 0));
        panel.setBounds(165, 6, 849, 530);
        contentPane.add(panel);
        panel.setLayout(null);

        table = new JTable();
        table.setShowVerticalLines(false);
        table.setBounds(6, 31, 837, 333);
        table.setSelectionBackground(Color.LIGHT_GRAY);
        
        
        Connection connection = null;
        Statement statement = null;
        ResultSet resultset = null;

        try {
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/inventory", "root", "rlawjdwns7924!");
            statement = connection.createStatement();
            String query = "select * from Material";
            resultset = statement.executeQuery(query);
            ResultSetMetaData rsmd = resultset.getMetaData();
            model = (DefaultTableModel) table.getModel();

            int cols = rsmd.getColumnCount();
            String[] colName = {"MODEL", "AFFAIR", "CLIENT", "POSSESSION", "FIXED", "STATUS", "ACTION"};
            model.setColumnIdentifiers(colName);
            for (int i = 0; i < cols; i++) {
                
                String MODEL, AFFAIR, CLIENT, POSSESSION, STATUS;
                String FIXED;
                while(resultset.next()) {
                    MODEL=resultset.getString(1);
                    AFFAIR=resultset.getString(2);
                    CLIENT=resultset.getString(3);
                    POSSESSION=resultset.getString(4);
                    FIXED=resultset.getString(5);
                    STATUS=resultset.getString(6);
                    String[] row = { MODEL, AFFAIR, CLIENT, POSSESSION, FIXED, STATUS};
                    model.addRow(row);
                }
                statement.close();
                connection.close();
            }

        } catch (SQLException sqlexception) {
            sqlexception.printStackTrace();
        }
        
        TableActionEvent event = new TableActionEvent() {

            @Override
            public void onEdit(int row) {
                System.out.println("Edit row : " +  row);
                
            }

            @Override
            public void onDelete(int row) {
                System.out.println("Delete row : " +  row);
                if (table.isEditing()) {
                    table.getCellEditor().stopCellEditing();
                }
                DefaultTableModel model =  (DefaultTableModel) table.getModel();
                model.removeRow(row);
            }

            @Override
            public void onView(int row) {
                System.out.println("View row : " +  row);
                
            }
            
        };
        table.getColumnModel().getColumn(6).setCellRenderer(new TableActionCellRenderer());
        table.setRowHeight(40);
        table.getColumnModel().getColumn(6).setCellEditor(new TableActionCellEditor(event));

            
        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setBounds(6, 31, 837, 333);
        scrollPane.setViewportView(table);
        panel.add(scrollPane);
        
        JLabel lblMaterialTitle = new JLabel("Materials");
        lblMaterialTitle.setFont(new Font(".AppleSystemUIFont", Font.PLAIN, 15));
        lblMaterialTitle.setHorizontalAlignment(SwingConstants.CENTER);
        lblMaterialTitle.setBounds(375, 6, 99, 24);
        panel.add(lblMaterialTitle);
        
        txtModel = new JTextField();
        txtModel.setBounds(6, 386, 200, 40);
        panel.add(txtModel);
        txtModel.setColumns(10);
        
        txtAffair = new JTextField();
        txtAffair.setColumns(10);
        txtAffair.setBounds(6, 438, 200, 40);
        panel.add(txtAffair);
        
        JButton btnAdd = new JButton("");
        btnAdd.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseReleased(MouseEvent arg0) {
                btnAdd.setBackground(null);;
            }
        });
        btnAdd.setIcon(new ImageIcon(Main.class.getResource("/files/add.png")));
        btnAdd.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
            }
        });
        btnAdd.setBounds(450, 380, 50, 70);
        btnAdd.setOpaque(false);
        btnAdd.setContentAreaFilled(false);
        btnAdd.setBorderPainted(false);
        btnAdd.setFocusable(false);
        panel.add(btnAdd);
        
        txtClient = new JTextField();
        txtClient.setColumns(10);
        txtClient.setBounds(6, 490, 200, 40);
        panel.add(txtClient);
        
        txtPossession = new JTextField();
        txtPossession.setColumns(10);
        txtPossession.setBounds(241, 386, 200, 40);
        panel.add(txtPossession);
        
        txtFixed = new JTextField();
        txtFixed.setColumns(10);
        txtFixed.setBounds(241, 438, 200, 40);
        panel.add(txtFixed);
        
        txtStatus = new JTextField();
        txtStatus.setColumns(10);
        txtStatus.setBounds(241, 490, 200, 40);
        panel.add(txtStatus);
        
        JLabel lblStatus = new JLabel("Model");
        lblStatus.setHorizontalAlignment(SwingConstants.CENTER);
        lblStatus.setBounds(241, 476, 55, 16);
        panel.add(lblStatus);
        
        JLabel lblModel = new JLabel("Model");
        lblModel.setHorizontalAlignment(SwingConstants.CENTER);
        lblModel.setBounds(6, 372, 55, 16);
        panel.add(lblModel);
        
        JLabel lblAffair = new JLabel("Affair");
        lblAffair.setHorizontalAlignment(SwingConstants.CENTER);
        lblAffair.setBounds(6, 424, 55, 16);
        panel.add(lblAffair);
        
        JLabel lblClient = new JLabel("Client");
        lblClient.setHorizontalAlignment(SwingConstants.CENTER);
        lblClient.setBounds(6, 476, 55, 16);
        panel.add(lblClient);
        
        JLabel lblPossession = new JLabel("Possession");
        lblPossession.setHorizontalAlignment(SwingConstants.CENTER);
        lblPossession.setBounds(241, 372, 70, 16);
        panel.add(lblPossession);
        
        JLabel lblFixed = new JLabel("Fixed");
        lblFixed.setHorizontalAlignment(SwingConstants.CENTER);
        lblFixed.setBounds(241, 424, 55, 16);
        panel.add(lblFixed);
        
        txtSearch = new JTextField();
        txtSearch.setBounds(558, 390, 288, 32);
        panel.add(txtSearch);
        txtSearch.setColumns(10);
        
        txtSearch.addKeyListener(new KeyAdapter() {
            @Override
            public void keyReleased(KeyEvent e) {
                
                DefaultTableModel model = (DefaultTableModel)table.getModel();
                TableRowSorter<DefaultTableModel> tr = new TableRowSorter<DefaultTableModel>(model);
                table.setRowSorter(tr);
                tr.setRowFilter(RowFilter.regexFilter(txtSearch.getText()));
            }
        });
        
        JLabel lblSearch = new JLabel("Search");
        lblSearch.setLabelFor(txtSearch);
        lblSearch.setHorizontalAlignment(SwingConstants.CENTER);
        lblSearch.setBounds(558, 376, 55, 16);
        panel.add(lblSearch);
        
        JButton btnAdd_1 = new JButton("");
        btnAdd_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
            }
        });
        ImageIcon icon = new ImageIcon(Main.class.getResource("/files/edit2.png"));
        Image img = icon.getImage() ;  
           Image newimg = img.getScaledInstance( 60, 100,  java.awt.Image.SCALE_SMOOTH ) ;  
           icon = new ImageIcon( newimg );
        btnAdd_1.setIcon(icon);
        btnAdd_1.setOpaque(false);
        btnAdd_1.setFocusable(false);
        btnAdd_1.setContentAreaFilled(false);
        btnAdd_1.setBorderPainted(false);
        btnAdd_1.setBounds(450, 460, 50, 70);
        panel.add(btnAdd_1);
    

        JLabel lblLogo = new JLabel("");
        lblLogo.setIcon(new ImageIcon(Main.class.getResource("/files/Logo.png")));
        lblLogo.setBounds(6, 6, 154, 50);
        contentPane.add(lblLogo);

        JButton btnMail = new JButton("Email");
        btnMail.setBounds(6, 234, 154, 50);
        contentPane.add(btnMail);

        JButton btnDash = new JButton("Dashboard");
        btnDash.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {

        
            }
        });
        btnDash.setBounds(6, 183, 154, 50);
        contentPane.add(btnDash);

        JButton btnMaterial = new JButton("Material Manage");
        btnMaterial.setBounds(6, 285, 154, 50);
        contentPane.add(btnMaterial);

        JButton btnContacts = new JButton("Contacts");
        btnContacts.setBounds(6, 336, 154, 50);
        contentPane.add(btnContacts);

        JLabel lblTab = new JLabel("");
        lblTab.setIcon(new ImageIcon(Main.class.getResource("/files/Tab.png")));
        lblTab.setBounds(6, 6, 154, 530);
        contentPane.add(lblTab);

        JLabel lblBackground = new JLabel("");
        lblBackground.setIcon(new ImageIcon(Main.class.getResource("/files/LightBackground.png")));
        lblBackground.setBounds(6, 0, 1014, 542);
        contentPane.add(lblBackground);
        
        
    }
}

I tried by refreshing the entire frame after the program ran, but it did not work.

0

There are 0 answers