| | |
| | | import java.util.*; |
| | | import java.util.List; |
| | | import java.util.ResourceBundle; |
| | | import publicsWay.ButtonUtils; // 添加ButtonUtils导入 |
| | | import publicsWay.TableUtils; // 添加TableUtils导入 |
| | | |
| | | public class CompanyManagementPanel extends JPanel { |
| | | private static final long serialVersionUID = 1L; |
| | | private JTable companyTable; |
| | |
| | | private JTextField searchField; |
| | | |
| | | @SuppressWarnings("serial") |
| | | public CompanyManagementPanel(ResourceBundle messages) { |
| | | public CompanyManagementPanel(ResourceBundle messages) { |
| | | this.messages = messages; |
| | | setLayout(new BorderLayout()); |
| | | setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); |
| | | |
| | | // 顶部面板 |
| | | |
| | | // 顶部操作面板 |
| | | JPanel topPanel = new JPanel(new BorderLayout(5, 5)); |
| | | topPanel.setBorder(BorderFactory.createTitledBorder(getMessage("QKOP"))); |
| | | topPanel.setBorder(BorderFactory.createTitledBorder(getMessage("QUICK_OPERATION"))); |
| | | |
| | | // 左侧搜索输入组件 |
| | | JPanel searchInputPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 0)); |
| | | JLabel searchLabel = new JLabel(getMessage("COMPANY_NAME") + ":"); |
| | | searchField = new JTextField(20); |
| | | JButton searchButton = new JButton(getMessage("SEARCH")); |
| | | JButton resetButton = new JButton(getMessage("RESET")); |
| | | searchField = new JTextField(15); |
| | | |
| | | // 使用ButtonUtils创建蓝色按钮 |
| | | JButton searchButton = ButtonUtils.createBlueButton(getMessage("SEARCH")); |
| | | JButton resetButton = ButtonUtils.createBlueButton(getMessage("RESET")); |
| | | JButton refreshButton = ButtonUtils.createBlueButton(getMessage("REFRESH")); |
| | | |
| | | searchInputPanel.add(searchLabel); |
| | | searchInputPanel.add(searchField); |
| | | searchInputPanel.add(searchButton); |
| | | searchInputPanel.add(resetButton); |
| | | searchInputPanel.add(refreshButton); |
| | | |
| | | // 右侧操作按钮 |
| | | JPanel actionPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT, 5, 0)); |
| | | JButton addButton = new JButton(getMessage("ADD")); |
| | | JButton editButton = new JButton(getMessage("EDIT")); |
| | | JButton deleteButton = new JButton(getMessage("DELETE")); |
| | | JButton refreshButton = new JButton(getMessage("REFRESH")); |
| | | JButton addButton = ButtonUtils.createBlueButton(getMessage("ADD")); |
| | | JButton editButton = ButtonUtils.createBlueButton(getMessage("EDIT")); |
| | | JButton deleteButton = ButtonUtils.createBlueButton(getMessage("DELETE")); |
| | | |
| | | actionPanel.add(addButton); |
| | | actionPanel.add(editButton); |
| | |
| | | actionPanel.add(refreshButton); |
| | | |
| | | // 将左侧搜索和右侧操作添加到搜索面板 |
| | | topPanel.add(searchInputPanel, BorderLayout.CENTER); |
| | | topPanel.add(actionPanel, BorderLayout.EAST); |
| | | JPanel rowPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 5)); |
| | | rowPanel.add(searchInputPanel); |
| | | rowPanel.add(actionPanel); |
| | | |
| | | topPanel.add(rowPanel, BorderLayout.CENTER); |
| | | |
| | | // 创建表格列名 |
| | | String[] columnNames = { |
| | |
| | | } |
| | | }; |
| | | |
| | | // 创建表格 |
| | | // 创建表格 - 使用TableUtils中的方法 |
| | | companyTable = new JTable(tableModel); |
| | | TableUtils.setupTableStyle(companyTable); |
| | | TableUtils.setupTableHeaderStyle(companyTable); |
| | | companyTable.setAutoCreateRowSorter(true); |
| | | companyTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); |
| | | |
| | |
| | | companyTable.getColumnModel().getColumn(2).setPreferredWidth(100); |
| | | companyTable.getColumnModel().getColumn(3).setPreferredWidth(200); |
| | | |
| | | // 设置表头样式 |
| | | JTableHeader header = companyTable.getTableHeader(); |
| | | header.setBackground(Color.GRAY); |
| | | header.setForeground(Color.WHITE); |
| | | header.setFont(header.getFont().deriveFont(Font.BOLD)); |
| | | |
| | | // 创建表头渲染器 |
| | | DefaultTableCellRenderer headerRenderer = new DefaultTableCellRenderer() { |
| | | { |
| | | setHorizontalAlignment(SwingConstants.LEFT); |
| | | setBackground(Color.GRAY); |
| | | setForeground(Color.WHITE); |
| | | setFont(getFont().deriveFont(Font.BOLD)); |
| | | } |
| | | }; |
| | | |
| | | // 应用表头渲染器 |
| | | // 应用单元格渲染器到所有列 - 使用TableUtils中的方法 |
| | | DefaultTableCellRenderer cellRenderer = TableUtils.createCenteredCellRenderer(); |
| | | for (int i = 0; i < companyTable.getColumnCount(); i++) { |
| | | companyTable.getColumnModel().getColumn(i).setHeaderRenderer(headerRenderer); |
| | | companyTable.getColumnModel().getColumn(i).setCellRenderer(cellRenderer); |
| | | } |
| | | |
| | | JScrollPane scrollPane = new JScrollPane(companyTable); |
| | | scrollPane.setPreferredSize(new Dimension(800, 400)); |
| | | scrollPane.setBorder(BorderFactory.createEmptyBorder()); // 移除滚动面板边框 |
| | | |
| | | // 添加组件 |
| | | add(topPanel, BorderLayout.NORTH); |
| | |
| | | |
| | | // 按钮面板 |
| | | JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT)); |
| | | JButton okButton = new JButton(getMessage("OK")); |
| | | JButton cancelButton = new JButton(getMessage("CANCEL")); |
| | | JButton okButton = ButtonUtils.createBlueButton(getMessage("OK")); |
| | | JButton cancelButton = ButtonUtils.createBlueButton(getMessage("CANCEL")); |
| | | |
| | | okButton.addActionListener(e -> { |
| | | confirmed = true; |