⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serverlisttable.java

📁 JMule是一个基于Java开发
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
		ip.setComparator(new GeneralComparator("getAddressAsInt"));		table_columns.add(ip);		//server_tab_column_model.addColumn( ip );				TableColumnExt desc = new TableColumnExt();		desc.setModelIndex(ServerListTableModel.DESCRIPTION);		desc.setIdentifier(UIConstants.SERVER_LIST_DESCRIPTION_COLUMN_ID);		desc.setVisible(_pref.isColumnVisible(UIConstants.SERVER_LIST_DESCRIPTION_COLUMN_ID));		desc.setHeaderValue("Description");		desc.setCellRenderer(new DescTableCellRenderer());		desc.setComparator(new GeneralComparator("getDesc"));				table_columns.add(desc);		//server_tab_column_model.addColumn( desc );				TableColumnExt ping = new TableColumnExt();		ping.setModelIndex(ServerListTableModel.PING);		ping.setIdentifier(UIConstants.SERVER_LIST_PING_COLUMN_ID);		ping.setVisible(_pref.isColumnVisible(UIConstants.SERVER_LIST_PING_COLUMN_ID));		ping.setHeaderValue("Ping");		ping.setCellRenderer(new PingTableCellRenderer());		ping.setComparator(new GeneralComparator("getPing"));				table_columns.add(ping);		//server_tab_column_model.addColumn( ping );				TableColumnExt users = new TableColumnExt();		users.setModelIndex(ServerListTableModel.USERS);		users.setIdentifier(UIConstants.SERVER_LIST_USERS_COLUMN_ID);		users.setVisible(_pref.isColumnVisible(UIConstants.SERVER_LIST_USERS_COLUMN_ID));		users.setHeaderValue("Users");		users.setCellRenderer(new UsersTableCellRenderer());		users.setComparator(new GeneralComparator("getNumUsers"));				table_columns.add(users);		//server_tab_column_model.addColumn( users );				TableColumnExt max_users = new TableColumnExt();		max_users.setModelIndex(ServerListTableModel.MAX_USERS);		max_users.setIdentifier(UIConstants.SERVER_LIST_MAX_USERS_COLUMN_ID);		max_users.setVisible(_pref.isColumnVisible(UIConstants.SERVER_LIST_MAX_USERS_COLUMN_ID));		max_users.setHeaderValue("Max users");		max_users.setCellRenderer(new MaxUsersTableCellRenderer());		max_users.setComparator(new GeneralComparator("getMaxUsers"));				table_columns.add(max_users);		//server_tab_column_model.addColumn(max_users);				TableColumnExt files = new TableColumnExt();		files.setModelIndex(ServerListTableModel.FILES);		files.setIdentifier(UIConstants.SERVER_LIST_FILES_COLUMN_ID);		files.setVisible(_pref.isColumnVisible(UIConstants.SERVER_LIST_FILES_COLUMN_ID));		files.setHeaderValue("Files");		files.setCellRenderer(new FilesTableCellRenderer());		files.setComparator(new GeneralComparator("getNumFiles"));				table_columns.add(files);		//server_tab_column_model.addColumn(files);				TableColumnExt soft_limit = new TableColumnExt();		soft_limit.setModelIndex(ServerListTableModel.SOFT_LIMIT);		soft_limit.setIdentifier(UIConstants.SERVER_LIST_SOFT_LIMIT_COLUMN_ID);		soft_limit.setVisible(_pref.isColumnVisible(UIConstants.SERVER_LIST_SOFT_LIMIT_COLUMN_ID));		soft_limit.setHeaderValue("Soft limit");		soft_limit.setCellRenderer(new SoftLimitTableCellRenderer());		soft_limit.setComparator(new GeneralComparator("getSoftLimit"));				table_columns.add(soft_limit);		//server_tab_column_model.addColumn(soft_limit);				TableColumnExt hard_limit = new TableColumnExt();		hard_limit.setModelIndex(ServerListTableModel.HARD_LIMIT);		hard_limit.setIdentifier(UIConstants.SERVER_LIST_HARD_LIMIT_COLUMN_ID);		hard_limit.setVisible(_pref.isColumnVisible(UIConstants.SERVER_LIST_HARD_LIMIT_COLUMN_ID));		hard_limit.setHeaderValue("Hard limit");		hard_limit.setCellRenderer(new HardLimitTableCellRenderer());		hard_limit.setComparator(new GeneralComparator("getHardLimit"));				table_columns.add(hard_limit);		//server_tab_column_model.addColumn(hard_limit);				TableColumnExt version = new TableColumnExt();		version.setModelIndex(ServerListTableModel.VERSION);		version.setIdentifier(UIConstants.SERVER_LIST_VERSION_COLUMN_ID);		version.setVisible(_pref.isColumnVisible(UIConstants.SERVER_LIST_VERSION_COLUMN_ID));		version.setHeaderValue("Version");		version.setCellRenderer(new VersionTableCellRenderer());		version.setComparator(new GeneralComparator("getVersion"));			//version.setVisible(false);				table_columns.add(version);		//server_tab_column_model.addColumn(version);				TableColumnExt static_col = new TableColumnExt();		static_col.setModelIndex(ServerListTableModel.STATIC);		static_col.setIdentifier(UIConstants.SERVER_LIST_STATIC_COLUMN_ID);		static_col.setVisible(_pref.isColumnVisible(UIConstants.SERVER_LIST_STATIC_COLUMN_ID));		static_col.setHeaderValue("Static");		static_col.setCellRenderer(new StaticTableCellRenderer());		static_col.setComparator(new GeneralComparator("isStatic"));				table_columns.add(static_col);				TableColumnExt down = new TableColumnExt();		down.setModelIndex(ServerListTableModel.DOWN);		down.setIdentifier(UIConstants.SERVER_LIST_DOWN_COLUMN_ID);		down.setVisible(_pref.isColumnVisible(UIConstants.SERVER_LIST_DOWN_COLUMN_ID));		down.setHeaderValue("Down");		down.setCellRenderer(new DownTableCellRenderer());		down.setComparator(new GeneralComparator("isDown"));				table_columns.add(down);				super.buildColumns(new ServerListTableModel());						//TableColumnModel server_tab_column_model = new DefaultTableColumnModel();				//for(TableColumnExt column : table_columns) {		//	server_tab_column_model.addColumn(column);		//}				//server_list_model = new ServerListTableModel();		//this.setModel(server_list_model);		//this.setColumnModel(server_tab_column_model);				//TableColumnExt column = (TableColumnExt)this.getColumnModel().getColumn(1);		//column.setVisible(false);		//this.setColumnControlVisible(true);		//this.getColumnExt((Object)UIConstants.SERVER_LIST_VERSION_COLUMN_ID).setVisible(false);		//this.getColumnExt(2).setVisible(false);		final TableColumnModel column_model = this.getColumnModel();		class PopupListener extends MouseAdapter {			 JMenuItem connect_to, disconnect, add, remove_selected, remove_all, properties,			           add_to_static_list, remove_from_static_list,			           paste_ed2k_links, copy_ed2k_links, column_setup;			 public PopupListener() {				    connect_to = new JMenuItem("Connect to",ImgRep.getIcon("server_connect2.png"));					connect_to.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent e) {							executeSelectedServersOp(ServersOp.CONNECT_TO);						}					});										disconnect = new JMenuItem("Disconnect",ImgRep.getIcon("server_connect2.png"));					disconnect.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent e) {							System.out.println("Disconnect to selected");						}					});										add = new JMenuItem("Add",ImgRep.getIcon("server_add.png"));					add.addActionListener(new ActionListener() {							public void actionPerformed(ActionEvent e) {							INewServerDialog<String, Integer> server_dialog = new SNewServerDialog(parent);							SwingUtils.setWindowLocationRelativeTo((JDialog)server_dialog,parent);							server_dialog.setVisible(true);							if(server_dialog.getDialogAction()==IDialog.DialogAction.OK) {								Server server = new Server(server_dialog.getServerIP(), 										                   server_dialog.getServerPort());								_server_manager.addServer(server);							}						}					});										remove_selected = new JMenuItem("Remove selected",ImgRep.getIcon("server_delete.png"));					remove_selected.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent e) {							executeSelectedServersOp(ServersOp.REMOVE_SELECTED_FROM_LIST);						}					});										remove_all = new JMenuItem("Remove all", ImgRep.getIcon("remove_all.png"));					remove_all.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent e) {							executeSelectedServersOp(ServersOp.REMOVE_ALL_FROM_LIST);						}					});										add_to_static_list = new JMenuItem(_._("mainwindow.serverlisttab.serverlist.popupmenu.add_to_static_list"),							                 ImgRep.getIcon("list_add.png"));					add_to_static_list.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent e) {							executeSelectedServersOp(ServersOp.MAKE_SELECTED_STATIC);						}					});										remove_from_static_list = new JMenuItem(_._("mainwindow.serverlisttab.serverlist.popupmenu.remove_from_static_list"),	                                              ImgRep.getIcon("list_remove.png"));					remove_from_static_list.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent e) {							executeSelectedServersOp(ServersOp.MAKE_SELECTED_NON_STATIC);						}					});										properties = new JMenuItem("Properties", ImgRep.getIcon("properties.png"));					properties.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent e) {							Server[] servers = getSelectedServers();							server_details = new ServerDetailsDialog(parent, servers[0]);							SwingUtils.setWindowLocationRelativeTo(server_details, parent);							server_details.setVisible(true);						}					});										paste_ed2k_links = new JMenuItem("Paste ED2K links", ImgRep.getIcon("ed2k_link_paste.png"));					paste_ed2k_links.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent e) {						  try { 								 Object clipboard_contents = clipboard.getData(DataFlavor.stringFlavor);							 //System.out.println(clipboard_contents);							 List<ED2KServerLink> server_links = ED2KServerLink.extractLinks(clipboard_contents.toString());							 for(ED2KServerLink server_link : server_links) {								 //System.out.println(server_link);								 _server_manager.addServer(new Server(server_link));							 }						  }catch(Throwable t) {							  t.printStackTrace();						  }						}					});										copy_ed2k_links = new JMenuItem("Copy ED2K links", ImgRep.getIcon("ed2k_link.png"));					copy_ed2k_links.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent e) {							clipboard.setContents(new Transferable() {								public Object getTransferData(DataFlavor flavor)										throws UnsupportedFlavorException,										IOException {									String ed2k_links = "";									Server[] selected_servers = getSelectedServers();									for(Server server : selected_servers) {										ed2k_links += server.getServerLink().getAsString() + System.getProperty("line.separator");									}									return ed2k_links;								}								public DataFlavor[] getTransferDataFlavors() {									DataFlavor[] data_flavours = new DataFlavor[1];									data_flavours[0] = DataFlavor.stringFlavor;									return data_flavours;								}								public boolean isDataFlavorSupported(										DataFlavor flavor) {								    return flavor.isFlavorTextType();								}															}, new ClipboardOwner() {								public void lostOwnership(Clipboard clipboard, Transferable contents) {																	}															});						}					});										// -------------------- Column setup ----------------------------------------------					column_setup = new JMenuItem("Column setup", ImgRep.getIcon("columns_setup.png"));					column_setup.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent e) {							JDialog col_set_frame = new JDialog(parent,"Column setup",true);							JPanel right_panel = new JPanel(); // where the up & down buttons are located							JPanel bottom_panel = new JPanel(); // Cancel, Defaults, Ok buttons							JPanel center_panel = new JPanel(); // the jtable							JButton up_button = new JButton("Up");							JButton down_button = new JButton("Down");							JButton ok_button = new JButton("OK");							JButton cancel_button = new JButton("Cancel");							JButton apply_button = new JButton("Apply");							right_panel.setLayout(new GridLayout(2,1));							right_panel.add(up_button);							right_panel.add(down_button);							bottom_panel.setLayout(new GridLayout(1,3));							bottom_panel.add(ok_button);							bottom_panel.add(apply_button);							bottom_panel.add(cancel_button);							center_panel.setLayout(new GridLayout(1,1));							col_set_frame.setSize(400, 300);							col_set_frame.setLayout(new BorderLayout());							col_set_frame.add(center_panel,BorderLayout.CENTER);							col_set_frame.add(right_panel, BorderLayout.EAST);							col_set_frame.add(bottom_panel, BorderLayout.SOUTH);							final JTable col_set_table = new JTable();							//DefaultTableModel col_set_table_model = new DefaultTableModel();							Object[][] col_set_rows_cols = new Object[14][3];							int i = 0;							// col name -> col obj mapping (easy way to map col names to master cols)							final Map<String,TableColumnExt> cols = new Hashtable<String,TableColumnExt>();							for(TableColumnExt column : table_columns) {								if(column.isVisible()) col_set_rows_cols[i][0] = true;								else col_set_rows_cols[i][0] = false;								col_set_rows_cols[i][1] = column.getHeaderValue();								cols.put(column.getHeaderValue().toString(), column);								++i;							}							col_set_table.setModel(new DefaultTableModel(col_set_rows_cols,									new String[] {									"Visibility", "Name", "Description"							})							{					            Class[] types = new Class [] {					                java.lang.Boolean.class, java.lang.String.class, java.lang.String.class					            };					            public Class getColumnClass(int columnIndex) {					                return types [columnIndex];					            }					        });							JScrollPane scroll_pane = new JScrollPane();							scroll_pane.setViewportView(col_set_table);							center_panel.add(scroll_pane);							SwingUtils.setWindowLocationRelativeTo(col_set_frame, parent);							apply_button.addActionListener(new ActionListener() {								public void actionPerformed(ActionEvent event) {                                    for(int i=0; i<14; i++) {                                    	boolean visibility = Boolean.parseBoolean(col_set_table.getModel().getValueAt(i, 0).toString());                                    	String column_name = col_set_table.getModel().getValueAt(i, 1).toString();                                    	//cols.get(column_name).setVisible(visibility);                                    	if(visibility == false) column_model.removeColumn(cols.get(column_name));                                    	System.out.println("Column from set " + cols.get(column_name).getHeaderValue());                                    	System.out.println("<--->" + column_name + "<---->" + visibility);                                    }								}							});							col_set_frame.setVisible(true);						}					});			 }			 public void mousePressed(MouseEvent e) {			     showPopup(e);			 }			 			 public void mouseReleased(MouseEvent e) {			     showPopup(e);			 }			 			 private void showPopup(MouseEvent e) {			     if (e.isPopupTrigger()) {			    	 //ServerManager _server_manager = ServerManagerFactory.getInstance();			    	// Server connected_server = _server_manager.getConnectedServer();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -