286 lines
9.7 KiB
Java
286 lines
9.7 KiB
Java
/*
|
|
* Created by JFormDesigner on Tue Apr 15 18:46:50 CST 2025
|
|
*/
|
|
|
|
package gui.UI_LenheartUI;
|
|
|
|
import java.awt.event.*;
|
|
|
|
import client.MapleCharacter;
|
|
import gui.Start;
|
|
import gui.tw.DiaoLuoTiShi;
|
|
import gui.特殊控制台;
|
|
import handling.channel.ChannelServer;
|
|
import handling.world.World;
|
|
import tools.MaplePacketCreator;
|
|
|
|
import java.awt.*;
|
|
import java.util.ArrayList;
|
|
import javax.swing.*;
|
|
import javax.swing.border.Border;
|
|
import javax.swing.table.*;
|
|
|
|
/**
|
|
* @author dongj
|
|
*/
|
|
public class DropTips extends JPanel {
|
|
public DropTips() {
|
|
initComponents();
|
|
}
|
|
|
|
private void 新增(ActionEvent e) {
|
|
// TODO add your code here
|
|
int Id = Integer.valueOf(textField1.getText());
|
|
DiaoLuoTiShi diaoLuoTiShi = new DiaoLuoTiShi(0, Id);
|
|
Start.diaoLuoTiShis.put(Id,diaoLuoTiShi);
|
|
ReData();
|
|
// Integer.valueOf(textField1.getText())
|
|
}
|
|
|
|
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
|
|
Start.diaoLuoGongGao = textField3.getText();
|
|
特殊控制台.setTwConfig();
|
|
}
|
|
|
|
private void 发起公告(final int type) {
|
|
for (final ChannelServer cserv1 : ChannelServer.getAllInstances()) {
|
|
for (final MapleCharacter mch : cserv1.getPlayerStorage().getAllCharacters()) {
|
|
switch (type) {
|
|
case 0: {
|
|
World.Broadcast.broadcastMessage(MaplePacketCreator.serverMessage(this.textField2.getText()));
|
|
continue;
|
|
}
|
|
case 1: {
|
|
World.Broadcast.broadcastMessage(MaplePacketCreator.serverNotice(1, this.textField2.getText()));
|
|
continue;
|
|
}
|
|
case 2: {
|
|
mch.startMapEffect(this.textField2.getText(), 5120015);
|
|
continue;
|
|
}
|
|
case 3: {
|
|
World.Broadcast.broadcastMessage(MaplePacketCreator.serverNotice(6, this.textField2.getText()));
|
|
continue;
|
|
}
|
|
case 4: {
|
|
World.Broadcast.broadcastMessage(MaplePacketCreator.serverMessage(this.textField2.getText()));
|
|
World.Broadcast.broadcastMessage(MaplePacketCreator.serverNotice(1, this.textField2.getText()));
|
|
World.Broadcast.broadcastMessage(MaplePacketCreator.serverNotice(6, this.textField2.getText()));
|
|
mch.startMapEffect(this.textField2.getText(), 5120015);
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void 顶端滚动公告(ActionEvent e) {
|
|
// TODO add your code here
|
|
发起公告(0);
|
|
}
|
|
|
|
private void 中心弹窗公告(ActionEvent e) {
|
|
// TODO add your code here
|
|
发起公告(1);
|
|
}
|
|
|
|
private void 中心气泡公告(ActionEvent e) {
|
|
// TODO add your code here
|
|
发起公告(2);
|
|
}
|
|
|
|
private void 聊天蓝色公告(ActionEvent e) {
|
|
// TODO add your code here
|
|
发起公告(3);
|
|
}
|
|
|
|
private void 发放全部公告(ActionEvent e) {
|
|
// TODO add your code here
|
|
发起公告(4);
|
|
}
|
|
|
|
private void initComponents() {
|
|
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents @formatter:off
|
|
scrollPane1 = new JScrollPane();
|
|
table1 = new JTable();
|
|
button1 = new JButton();
|
|
textField1 = new JTextField();
|
|
label1 = new JLabel();
|
|
button2 = new JButton();
|
|
button3 = new JButton();
|
|
textField2 = new JTextField();
|
|
label2 = new JLabel();
|
|
button4 = new JButton();
|
|
button5 = new JButton();
|
|
button6 = new JButton();
|
|
button7 = new JButton();
|
|
button8 = new JButton();
|
|
textField3 = new JTextField();
|
|
label3 = new JLabel();
|
|
|
|
//======== this ========
|
|
setLayout(null);
|
|
|
|
//======== scrollPane1 ========
|
|
{
|
|
|
|
//---- table1 ----
|
|
table1.setModel(new DefaultTableModel(
|
|
new Object[][] {
|
|
{null, null, null},
|
|
{null, null, null},
|
|
},
|
|
new String[] {
|
|
"\u5e8f\u53f7", "\u9053\u5177\u540d", "\u9053\u5177ID"
|
|
}
|
|
));
|
|
scrollPane1.setViewportView(table1);
|
|
}
|
|
add(scrollPane1);
|
|
scrollPane1.setBounds(new Rectangle(new Point(25, 20), scrollPane1.getPreferredSize()));
|
|
|
|
//---- button1 ----
|
|
button1.setText("\u65b0\u589e");
|
|
button1.addActionListener(e -> 新增(e));
|
|
add(button1);
|
|
button1.setBounds(275, 465, 95, 35);
|
|
add(textField1);
|
|
textField1.setBounds(75, 465, 110, 35);
|
|
|
|
//---- label1 ----
|
|
label1.setText("\u9053\u5177ID");
|
|
add(label1);
|
|
label1.setBounds(25, 465, 110, 35);
|
|
|
|
//---- button2 ----
|
|
button2.setText("\u5220\u9664");
|
|
button2.addActionListener(e -> 删除(e));
|
|
add(button2);
|
|
button2.setBounds(385, 465, 95, 35);
|
|
|
|
//---- button3 ----
|
|
button3.setText("\u4fdd\u5b58\u914d\u7f6e");
|
|
button3.addActionListener(e -> 保存配置(e));
|
|
add(button3);
|
|
button3.setBounds(350, 520, 130, 35);
|
|
add(textField2);
|
|
textField2.setBounds(505, 55, 575, 160);
|
|
|
|
//---- label2 ----
|
|
label2.setText("\u5168\u670d\u516c\u544a");
|
|
add(label2);
|
|
label2.setBounds(515, 20, 120, 30);
|
|
|
|
//---- button4 ----
|
|
button4.setText("\u9876\u7aef\u6eda\u52a8");
|
|
button4.addActionListener(e -> 顶端滚动公告(e));
|
|
add(button4);
|
|
button4.setBounds(505, 225, 85, button4.getPreferredSize().height);
|
|
|
|
//---- button5 ----
|
|
button5.setText("\u4e2d\u5fc3\u5f39\u7a97");
|
|
button5.addActionListener(e -> 中心弹窗公告(e));
|
|
add(button5);
|
|
button5.setBounds(630, 225, 85, 34);
|
|
|
|
//---- button6 ----
|
|
button6.setText("\u4e2d\u5fc3\u6c14\u6ce1");
|
|
button6.addActionListener(e -> 中心气泡公告(e));
|
|
add(button6);
|
|
button6.setBounds(750, 225, 85, 34);
|
|
|
|
//---- button7 ----
|
|
button7.setText("\u804a\u5929\u84dd\u8272");
|
|
button7.addActionListener(e -> 聊天蓝色公告(e));
|
|
add(button7);
|
|
button7.setBounds(870, 225, 85, 34);
|
|
|
|
//---- button8 ----
|
|
button8.setText("\u53d1\u653e\u5168\u90e8");
|
|
button8.addActionListener(e -> 发放全部公告(e));
|
|
add(button8);
|
|
button8.setBounds(990, 225, 85, 34);
|
|
add(textField3);
|
|
textField3.setBounds(80, 520, 240, 35);
|
|
|
|
//---- label3 ----
|
|
label3.setText("\u64ad\u62a5\u5185\u5bb9");
|
|
add(label3);
|
|
label3.setBounds(new Rectangle(new Point(25, 530), label3.getPreferredSize()));
|
|
|
|
{
|
|
// 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
|
|
|
|
|
|
ReData();
|
|
textField3.setText(Start.diaoLuoGongGao);
|
|
}
|
|
|
|
private void ReData(){
|
|
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);
|
|
}
|
|
}
|
|
|
|
int xh = 1;
|
|
for (DiaoLuoTiShi value : Start.diaoLuoTiShis.values()) {
|
|
Object[] rowData = {xh,value.getName(),value.getItemId()};
|
|
tableModel.addRow(rowData);
|
|
xh++;
|
|
}
|
|
|
|
}
|
|
|
|
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables @formatter:off
|
|
private JScrollPane scrollPane1;
|
|
private JTable table1;
|
|
private JButton button1;
|
|
private JTextField textField1;
|
|
private JLabel label1;
|
|
private JButton button2;
|
|
private JButton button3;
|
|
private JTextField textField2;
|
|
private JLabel label2;
|
|
private JButton button4;
|
|
private JButton button5;
|
|
private JButton button6;
|
|
private JButton button7;
|
|
private JButton button8;
|
|
private JTextField textField3;
|
|
private JLabel label3;
|
|
// JFormDesigner - End of variables declaration //GEN-END:variables @formatter:on
|
|
}
|