/* * Created by JFormDesigner on Fri Apr 04 16:38:34 CST 2025 */ package gui.UI_LenheartUI; import java.awt.event.*; import java.beans.*; import gui.Start; import gui.tw.diaoyu.BL; import gui.tw.diaoyu.DiaoYuMap; import gui.tw.diaoyu.DiaoyuItem; import gui.特殊控制台; import java.awt.*; import java.util.ArrayList; import java.util.List; import java.util.Objects; import javax.swing.*; import javax.swing.table.*; /** * @author dongj */ public class Fishing extends JPanel { public Fishing() { initComponents(); } private void 新增按钮1(ActionEvent e) { // TODO add your code here DefaultTableModel tableModel = (DefaultTableModel)this.table1.getModel(); Object[] rowData = {tableModel.getRowCount()+1, 0 ,0}; tableModel.addRow(rowData); } private void 删除按钮1(ActionEvent e) { // TODO add your code here int selectedRow = table1.getSelectedRow(); if (selectedRow != -1) { DefaultTableModel tableModel = (DefaultTableModel) table1.getModel(); tableModel.removeRow(selectedRow); if(tableModel.getRowCount() > selectedRow)table1.setRowSelectionInterval(selectedRow, selectedRow); } } private void 新增按钮2(ActionEvent e) { DefaultTableModel tableModel = (DefaultTableModel)this.table2.getModel(); Object[] rowData = {tableModel.getRowCount()+1, 0 ,0,0,0,0,0,0}; tableModel.addRow(rowData); } private void 删除按钮2(ActionEvent e) { // TODO add your code here int selectedRow = table2.getSelectedRow(); if (selectedRow != -1) { DefaultTableModel tableModel = (DefaultTableModel) table2.getModel(); tableModel.removeRow(selectedRow); if(tableModel.getRowCount() > selectedRow)table2.setRowSelectionInterval(selectedRow, selectedRow); } } private void 新增按钮3(ActionEvent e) { DefaultTableModel tableModel = (DefaultTableModel)this.table3.getModel(); Object[] rowData = {tableModel.getRowCount()+1, 0 ,0,0}; tableModel.addRow(rowData); } private void 删除按钮3(ActionEvent e) { // TODO add your code here int selectedRow = table3.getSelectedRow(); if (selectedRow != -1) { DefaultTableModel tableModel = (DefaultTableModel) table3.getModel(); tableModel.removeRow(selectedRow); if(tableModel.getRowCount() > selectedRow)table3.setRowSelectionInterval(selectedRow, selectedRow); } } private void 重载配置操作(){ List mapIds = Start.diaoyuConfig.getMapIds(); DefaultTableModel tableModel = (DefaultTableModel)this.table1.getModel(); tableModel.setRowCount(0); // 创建一个自定义的单元格渲染器,用于右对齐字符串 DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer(); rightRenderer.setHorizontalAlignment(JLabel.RIGHT); // 遍历表格的所有列,将字符串类型的列设置为右对齐 for (int i = 0; i < table1.getColumnCount(); i++) { if (table1.getColumnClass(i) == String.class) { table1.getColumnModel().getColumn(i).setCellRenderer(rightRenderer); } } mapIds.forEach((obj) -> { Integer Id = obj.getId(); String NameFront = obj.getName(); Integer mapid = obj.getMapId(); Object[] rowData = {Id, NameFront ,mapid}; tableModel.addRow(rowData); }); List reward = Start.diaoyuConfig.getAll(); DefaultTableModel tableMode2 = (DefaultTableModel)this.table2.getModel(); tableMode2.setRowCount(0); // 遍历表格的所有列,将字符串类型的列设置为右对齐 for (int i = 0; i < table2.getColumnCount(); i++) { if (table2.getColumnClass(i) == String.class) { table2.getColumnModel().getColumn(i).setCellRenderer(rightRenderer); } } reward.forEach((obj) -> { Integer Id = obj.getId(); String ItemName = obj.getItemName(); Integer ItemId = obj.getItemId(); Integer min = obj.getMinNum(); Integer max = obj.getMaxNum(); Integer rate = obj.getChance(); Integer noti = obj.getNotice(); Integer iskd = obj.getIsAdvanced(); Object[] rowData = {Id, ItemName ,ItemId ,min,max,rate,noti,iskd}; tableMode2.addRow(rowData); }); List bls = Start.diaoyuConfig.getBls(); DefaultTableModel tableMode3 = (DefaultTableModel)this.table3.getModel(); tableMode3.setRowCount(0); // 遍历表格的所有列,将字符串类型的列设置为右对齐 for (int i = 0; i < table3.getColumnCount(); i++) { if (table3.getColumnClass(i) == String.class) { table3.getColumnModel().getColumn(i).setCellRenderer(rightRenderer); } } bls.forEach((obj) -> { Integer Id = obj.getId(); String Name = obj.getName(); Integer ItemId = obj.getItemId(); Integer Rate = obj.getBl(); Object[] rowData = {Id, Name ,ItemId ,Rate}; tableMode3.addRow(rowData); }); String notice = Start.diaoyuConfig.getNotice(); textField1.setText(notice); textField2.setText(String.valueOf(Start.diaoyuConfig.getDyyg())); textField3.setText(String.valueOf(Start.diaoyuConfig.getDyyz())); textField4.setText(String.valueOf(Start.diaoyuConfig.getDyjg())); textField5.setText(String.valueOf(Start.diaoyuConfig.getPtye())); textField6.setText(String.valueOf(Start.diaoyuConfig.getGjye())); toggleButton1.setSelected(Start.diaoyuConfig.getDykg() == 1); toggleButton2.setSelected(Start.diaoyuConfig.getRyyz() == 1); toggleButton3.setSelected(Start.diaoyuConfig.getDytx() == 1); toggleButton4.setSelected(Start.diaoyuConfig.getKjbzdc() == 1); toggleButton5.setSelected(Start.diaoyuConfig.getBldj() == 1); } private void 重载配置(ActionEvent e) { 重载配置操作(); } private void button7PropertyChange(ActionEvent e) { // TODO add your code here // 保存 table1 的数据 DefaultTableModel tableModel = (DefaultTableModel) this.table1.getModel(); List mapIds = new ArrayList<>(); for (int i = 0; i < tableModel.getRowCount(); i++) { Integer id = (Integer) tableModel.getValueAt(i, 0); String nameFront = ""; Integer mapid = (Integer) tableModel.getValueAt(i, 2); DiaoYuMap diaoYuMap = new DiaoYuMap(); diaoYuMap.setId(id); diaoYuMap.setName(nameFront); diaoYuMap.setMapId(mapid); mapIds.add(diaoYuMap); } Start.diaoyuConfig.setMapIds(mapIds); // 保存 table2 的数据 DefaultTableModel tableMode2 = (DefaultTableModel) this.table2.getModel(); List reward = new ArrayList<>(); reward.clear(); for (int i = 0; i < tableMode2.getRowCount(); i++) { Integer id = (Integer) tableMode2.getValueAt(i, 0); String itemName = (String) tableMode2.getValueAt(i, 1); Integer itemId = (Integer) tableMode2.getValueAt(i, 2); Integer min = (Integer) tableMode2.getValueAt(i, 3); Integer max = (Integer) tableMode2.getValueAt(i, 4); Integer rate = (Integer) tableMode2.getValueAt(i, 5); Integer noti = (Integer) tableMode2.getValueAt(i, 6); Integer iskd = (Integer) tableMode2.getValueAt(i, 7); DiaoyuItem diaoyuItem = new DiaoyuItem(); diaoyuItem.setId(id); diaoyuItem.setItemName(itemName); diaoyuItem.setItemId(itemId); diaoyuItem.setMinNum(min); diaoyuItem.setMaxNum(max); diaoyuItem.setChance(rate); diaoyuItem.setNotice(noti); diaoyuItem.setIsAdvanced(iskd); reward.add(diaoyuItem); } Start.diaoyuConfig.setAll(reward); // 保存 table3 的数据 DefaultTableModel tableMode3 = (DefaultTableModel) this.table3.getModel(); List bls = new ArrayList<>(); bls.clear(); for (int i = 0; i < tableMode3.getRowCount(); i++) { Integer id = (Integer) tableMode3.getValueAt(i, 0); String name = (String) tableMode3.getValueAt(i, 1); Integer itemId = (Integer) tableMode3.getValueAt(i, 2); Integer rate = (Integer) tableMode3.getValueAt(i, 3); BL bl = new BL(); bl.setId(id); bl.setName(name); bl.setItemId(itemId); bl.setBl(rate); bls.add(bl); } Start.diaoyuConfig.setBls(bls); // 保存文本框的数据 Start.diaoyuConfig.setNotice(textField1.getText()); Start.diaoyuConfig.setDyyg(Integer.parseInt(textField2.getText())); Start.diaoyuConfig.setDyyz(Integer.parseInt(textField3.getText())); Start.diaoyuConfig.setDyjg(Integer.parseInt(textField4.getText())); Start.diaoyuConfig.setPtye(Integer.parseInt(textField5.getText())); Start.diaoyuConfig.setGjye(Integer.parseInt(textField6.getText())); // 保存开关按钮的数据 Start.diaoyuConfig.setDykg(toggleButton1.isSelected() ? 1 : 0); Start.diaoyuConfig.setRyyz(toggleButton2.isSelected() ? 1 : 0); Start.diaoyuConfig.setDytx(toggleButton3.isSelected() ? 1 : 0); Start.diaoyuConfig.setKjbzdc(toggleButton4.isSelected() ? 1 : 0); Start.diaoyuConfig.setBldj(toggleButton5.isSelected() ? 1 : 0); 特殊控制台.setTwConfig(); } private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents @formatter:off scrollPane1 = new JScrollPane(); table1 = new JTable(); scrollPane2 = new JScrollPane(); table2 = new JTable(); scrollPane3 = new JScrollPane(); table3 = new JTable(); button2 = new JButton(); button1 = new JButton(); button3 = new JButton(); button4 = new JButton(); textField1 = new JTextField(); label1 = new JLabel(); button5 = new JButton(); button6 = new JButton(); label2 = new JLabel(); label3 = new JLabel(); label4 = new JLabel(); label5 = new JLabel(); label6 = new JLabel(); textField2 = new JTextField(); textField3 = new JTextField(); textField4 = new JTextField(); textField5 = new JTextField(); textField6 = new JTextField(); toggleButton1 = new JToggleButton(); label7 = new JLabel(); label8 = new JLabel(); label9 = new JLabel(); label10 = new JLabel(); label11 = new JLabel(); toggleButton2 = new JToggleButton(); toggleButton3 = new JToggleButton(); toggleButton4 = new JToggleButton(); toggleButton5 = new JToggleButton(); button7 = new JButton(); button8 = new JButton(); //======== this ======== setLayout(null); //======== scrollPane1 ======== { //---- table1 ---- table1.setModel(new DefaultTableModel( new Object[][] { }, new String[] { "\u5e8f\u53f7", "\u5730\u56fe\u540d", "\u5730\u56feID" } ) { Class[] columnTypes = new Class[] { Integer.class, String.class, Integer.class }; @Override public Class getColumnClass(int columnIndex) { return columnTypes[columnIndex]; } }); { TableColumnModel cm = table1.getColumnModel(); cm.getColumn(0).setMinWidth(10); cm.getColumn(0).setMaxWidth(35); } scrollPane1.setViewportView(table1); } add(scrollPane1); scrollPane1.setBounds(20, 10, 350, 625); //======== scrollPane2 ======== { //---- table2 ---- table2.setModel(new DefaultTableModel( new Object[][] { }, new String[] { "\u5e8f\u53f7", "\u9053\u5177\u540d", "\u9053\u5177ID", "\u6700\u5c0f\u6570\u91cf", "\u6700\u5927\u6570\u91cf", "\u51e0\u7387", "\u64ad\u62a5", "\u4ec5\u9ad8\u7ea7\u9c7c\u9975\u53ef\u9493" } ) { Class[] columnTypes = new Class[] { Integer.class, Integer.class, Integer.class, Integer.class, Integer.class, Integer.class, Integer.class, Integer.class }; @Override public Class getColumnClass(int columnIndex) { return columnTypes[columnIndex]; } }); { TableColumnModel cm = table2.getColumnModel(); cm.getColumn(0).setMaxWidth(35); cm.getColumn(6).setMaxWidth(35); } scrollPane2.setViewportView(table2); } add(scrollPane2); scrollPane2.setBounds(380, 10, 685, 555); //======== scrollPane3 ======== { //---- table3 ---- table3.setModel(new DefaultTableModel( new Object[][] { }, new String[] { "\u5e8f\u53f7", "\u9053\u5177\u540d", "\u9053\u5177ID", "\u500d\u7387" } ) { Class[] columnTypes = new Class[] { Integer.class, String.class, Integer.class, Integer.class }; @Override public Class getColumnClass(int columnIndex) { return columnTypes[columnIndex]; } }); scrollPane3.setViewportView(table3); } add(scrollPane3); scrollPane3.setBounds(1075, 10, 425, 250); //---- button2 ---- button2.setText("\u5220\u9664"); button2.addActionListener(e -> 删除按钮1(e)); add(button2); button2.setBounds(215, 645, 155, button2.getPreferredSize().height); //---- button1 ---- button1.setText("\u65b0\u589e"); button1.setActionCommand("\u65b0\u589e"); button1.addActionListener(e -> 新增按钮1(e)); add(button1); button1.setBounds(20, 645, 155, button1.getPreferredSize().height); //---- button3 ---- button3.setText("\u65b0\u589e"); button3.addActionListener(e -> 新增按钮2(e)); add(button3); button3.setBounds(385, 645, 155, button3.getPreferredSize().height); //---- button4 ---- button4.setText("\u5220\u9664"); button4.addActionListener(e -> 删除按钮2(e)); add(button4); button4.setBounds(615, 645, 155, button4.getPreferredSize().height); add(textField1); textField1.setBounds(385, 590, 385, 50); //---- label1 ---- label1.setText("\u64ad\u62a5\u5185\u5bb9:"); add(label1); label1.setBounds(new Rectangle(new Point(390, 570), label1.getPreferredSize())); //---- button5 ---- button5.setText("\u65b0\u589e"); button5.addActionListener(e -> 新增按钮3(e)); add(button5); button5.setBounds(1115, 270, 155, button5.getPreferredSize().height); //---- button6 ---- button6.setText("\u5220\u9664"); button6.addActionListener(e -> 删除按钮3(e)); add(button6); button6.setBounds(1295, 270, 155, button6.getPreferredSize().height); //---- label2 ---- label2.setText("\u9493\u9c7c\u9c7c\u7aff"); add(label2); label2.setBounds(1150, 310, 60, 25); //---- label3 ---- label3.setText("\u9493\u9c7c\u6905\u5b50"); add(label3); label3.setBounds(1150, 350, 60, 25); //---- label4 ---- label4.setText("\u9493\u9c7c\u95f4\u9694"); add(label4); label4.setBounds(1150, 390, 60, 25); //---- label5 ---- label5.setText("\u666e\u901a\u9c7c\u9975"); add(label5); label5.setBounds(1150, 430, 60, 25); //---- label6 ---- label6.setText("\u9ad8\u7ea7\u9c7c\u9975"); add(label6); label6.setBounds(1150, 470, 60, 25); add(textField2); textField2.setBounds(1210, 310, 205, textField2.getPreferredSize().height); add(textField3); textField3.setBounds(1210, 350, 205, textField3.getPreferredSize().height); add(textField4); textField4.setBounds(1210, 390, 205, textField4.getPreferredSize().height); add(textField5); textField5.setBounds(1210, 430, 205, textField5.getPreferredSize().height); add(textField6); textField6.setBounds(1210, 470, 205, textField6.getPreferredSize().height); //---- toggleButton1 ---- toggleButton1.setIcon(new ImageIcon(getClass().getResource("/image/OFF3.png"))); toggleButton1.setSelectedIcon(new ImageIcon(getClass().getResource("/image/ON3.png"))); toggleButton1.setFocusPainted(false); toggleButton1.setContentAreaFilled(false); add(toggleButton1); toggleButton1.setBounds(1280, 495, 100, 35); //---- label7 ---- label7.setText("\u5f00\u653e\u9493\u9c7c\u7cfb\u7edf\u5f00\u5173"); add(label7); label7.setBounds(1160, 500, 110, 25); //---- label8 ---- label8.setText("\u542f\u7528\u4efb\u610f\u6905\u5b50\u9493\u9c7c"); add(label8); label8.setBounds(1160, 540, 110, 25); //---- label9 ---- label9.setText("\u663e\u793a\u9493\u9c7c\u6210\u529f\u7279\u6548"); add(label9); label9.setBounds(1160, 575, 110, 25); //---- label10 ---- label10.setText("\u7a7a\u95f4\u4e0d\u8db3\u81ea\u52a8\u4e22\u51fa"); add(label10); label10.setBounds(1160, 610, 110, 25); //---- label11 ---- label11.setText("\u500d\u7387\u9053\u5177\u662f\u5426\u53e0\u52a0"); add(label11); label11.setBounds(1160, 650, 110, 25); //---- toggleButton2 ---- toggleButton2.setIcon(new ImageIcon(getClass().getResource("/image/OFF3.png"))); toggleButton2.setSelectedIcon(new ImageIcon(getClass().getResource("/image/ON3.png"))); toggleButton2.setFocusPainted(false); toggleButton2.setContentAreaFilled(false); add(toggleButton2); toggleButton2.setBounds(1280, 535, 100, 35); //---- toggleButton3 ---- toggleButton3.setIcon(new ImageIcon(getClass().getResource("/image/OFF3.png"))); toggleButton3.setSelectedIcon(new ImageIcon(getClass().getResource("/image/ON3.png"))); toggleButton3.setFocusPainted(false); toggleButton3.setContentAreaFilled(false); add(toggleButton3); toggleButton3.setBounds(1280, 570, 100, 35); //---- toggleButton4 ---- toggleButton4.setIcon(new ImageIcon(getClass().getResource("/image/OFF3.png"))); toggleButton4.setSelectedIcon(new ImageIcon(getClass().getResource("/image/ON3.png"))); toggleButton4.setFocusPainted(false); toggleButton4.setContentAreaFilled(false); add(toggleButton4); toggleButton4.setBounds(1280, 605, 100, 35); //---- toggleButton5 ---- toggleButton5.setIcon(new ImageIcon(getClass().getResource("/image/OFF3.png"))); toggleButton5.setSelectedIcon(new ImageIcon(getClass().getResource("/image/ON3.png"))); toggleButton5.setFocusPainted(false); toggleButton5.setContentAreaFilled(false); add(toggleButton5); toggleButton5.setBounds(1280, 645, 100, 35); //---- button7 ---- button7.setText("\u4fdd\u5b58\u914d\u7f6e"); button7.addActionListener(e -> button7PropertyChange(e)); add(button7); button7.setBounds(775, 585, 290, 45); //---- button8 ---- button8.setText("\u91cd\u8f7d\u914d\u7f6e"); button8.addActionListener(e -> 重载配置(e)); add(button8); button8.setBounds(775, 635, 290, 45); { // compute preferred size Dimension preferredSize = new Dimension(); for(int i = 0; i < getComponentCount(); i++) { Rectangle bounds = getComponent(i).getBounds(); preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width); preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height); } Insets insets = getInsets(); preferredSize.width += insets.right; preferredSize.height += insets.bottom; setMinimumSize(preferredSize); setPreferredSize(preferredSize); } // JFormDesigner - End of component initialization //GEN-END:initComponents @formatter:on 重载配置操作(); } // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables @formatter:off private JScrollPane scrollPane1; private JTable table1; private JScrollPane scrollPane2; private JTable table2; private JScrollPane scrollPane3; private JTable table3; private JButton button2; private JButton button1; private JButton button3; private JButton button4; private JTextField textField1; private JLabel label1; private JButton button5; private JButton button6; private JLabel label2; private JLabel label3; private JLabel label4; private JLabel label5; private JLabel label6; private JTextField textField2; private JTextField textField3; private JTextField textField4; private JTextField textField5; private JTextField textField6; private JToggleButton toggleButton1; private JLabel label7; private JLabel label8; private JLabel label9; private JLabel label10; private JLabel label11; private JToggleButton toggleButton2; private JToggleButton toggleButton3; private JToggleButton toggleButton4; private JToggleButton toggleButton5; private JButton button7; private JButton button8; // JFormDesigner - End of variables declaration //GEN-END:variables @formatter:on }