151 lines
5.7 KiB
Java
151 lines
5.7 KiB
Java
/*
|
|
* 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++) {
|
|
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()),
|
|
tableModel.getValueAt(i, 5).toString(),
|
|
Integer.parseInt(tableModel.getValueAt(i, 6).toString()));
|
|
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[] {
|
|
"\u91ce\u5916BOSS", "\u8840\u91cf(\u767e\u4e07)", "\u5730\u56fe\u4ee3\u7801", "X\u5750\u6807", "Y\u5750\u6807", "\u8bf4\u660e", "\u5237\u65b0\u95f4\u9694/\u5206"
|
|
}
|
|
));
|
|
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
|
|
}
|