MXD-Server/src/gui/UI_LenheartUI/WorldBoss.java

151 lines
5.7 KiB
Java
Raw Normal View History

2025-04-15 20:31:01 +08:00
/*
* Created by JFormDesigner on Tue Apr 15 19:19:53 CST 2025
*/
package gui.UI_LenheartUI;
import java.awt.event.*;
import gui.Start;
import gui.特殊控制台;
import server.BossInMap;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
/**
* @author dongj
*/
public class WorldBoss extends JPanel {
public WorldBoss() {
initComponents();
}
private void 新增(ActionEvent e) {
// TODO add your code here
DefaultTableModel tableModel = (DefaultTableModel)this.table1.getModel();
Object[] rowData = {0,0,0,0,0,0,0};
tableModel.addRow(rowData);
}
private void 删除(ActionEvent e) {
// TODO add your code here
int selectedRow = table1.getSelectedRow();
if (selectedRow != -1) {
DefaultTableModel tableModel = (DefaultTableModel) table1.getModel();
int id = Integer.valueOf(tableModel.getValueAt(selectedRow, 2).toString());
Start.diaoLuoTiShis.remove(id);
tableModel.removeRow(selectedRow);
if(tableModel.getRowCount() > selectedRow)table1.setRowSelectionInterval(selectedRow, selectedRow);
}
}
private void 保存配置(ActionEvent e) {
// TODO add your code here
DefaultTableModel tableModel = (DefaultTableModel) table1.getModel();
int rowCount = tableModel.getRowCount();
Start.野外boss刷新.clear();
for (int i = 0; i < rowCount; i++) {
2025-05-24 15:18:43 +08:00
BossInMap bossInMap = new BossInMap(Integer.parseInt(tableModel.getValueAt(i, 0).toString()),
Integer.parseInt(tableModel.getValueAt(i, 2).toString()),
Integer.parseInt(tableModel.getValueAt(i, 3).toString()),
Integer.parseInt(tableModel.getValueAt(i, 4).toString()),
2025-04-15 20:31:01 +08:00
tableModel.getValueAt(i, 5).toString(),
2025-05-24 15:18:43 +08:00
Integer.parseInt(tableModel.getValueAt(i, 6).toString()));
2025-04-15 20:31:01 +08:00
bossInMap.setBosshp(tableModel.getValueAt(i, 1).toString());
Start.野外boss刷新.add(bossInMap);
}
特殊控制台.setTwConfig();
}
private void initComponents() {
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents @formatter:off
scrollPane1 = new JScrollPane();
table1 = new JTable();
button1 = new JButton();
button2 = new JButton();
button3 = new JButton();
//======== this ========
setLayout(null);
//======== scrollPane1 ========
{
//---- table1 ----
table1.setModel(new DefaultTableModel(
new Object[][] {
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null},
},
new String[] {
2025-05-24 15:18:43 +08:00
"\u91ce\u5916BOSS", "\u8840\u91cf(\u767e\u4e07)", "\u5730\u56fe\u4ee3\u7801", "X\u5750\u6807", "Y\u5750\u6807", "\u8bf4\u660e", "\u5237\u65b0\u95f4\u9694/\u5206"
2025-04-15 20:31:01 +08:00
}
));
scrollPane1.setViewportView(table1);
}
add(scrollPane1);
scrollPane1.setBounds(15, 10, 1245, 575);
//---- button1 ----
button1.setText("\u65b0\u589e");
button1.addActionListener(e -> 新增(e));
add(button1);
button1.setBounds(145, 615, 175, 50);
//---- button2 ----
button2.setText("\u5220\u9664");
button2.addActionListener(e -> 删除(e));
add(button2);
button2.setBounds(487, 615, 175, 50);
//---- button3 ----
button3.setText("\u4fdd\u5b58\u914d\u7f6e");
button3.addActionListener(e -> 保存配置(e));
add(button3);
button3.setBounds(829, 615, 175, 50);
{
// 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
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);
}
}
for (BossInMap bossInMap : Start.野外boss刷新) {
Object[] rowData = {bossInMap.getMobid(),bossInMap.getBosshp(),bossInMap.getMap(),bossInMap.getX(),bossInMap.getY(),bossInMap.getMsg(),bossInMap.getTime()};
tableModel.addRow(rowData);
}
}
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables @formatter:off
private JScrollPane scrollPane1;
private JTable table1;
private JButton button1;
private JButton button2;
private JButton button3;
// JFormDesigner - End of variables declaration //GEN-END:variables @formatter:on
}