Премини към съдържанието

Препоръчан отговор


Здравейте на всички :P искам да питам някой може ли да ми помогне с Jtable в Swing направил съм си една таблица където изкарвам едни данни от една игра клановете в играта  да сме точни от тази таблица съм направил така че да мога да ги редактирам самите играчи без да съм в игра обаче проблема ми се появява във това че като дам десен бутон на първия row всичко е наред обаче като дам на по долен  или без значение кой друг row ми маркира само първия row пробвах всичко но без успех ако някой може да помогне бих му бил благодарен вечно 

ето проблемната част от кода 

	/**
	 * Create the frame.
	 */
	public ServicesClan()
	{
		setTitle("Clan Service");
		setIconifiable(true);
		setClosable(true);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 792, 243);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		// create table with data
		// headers for the table
		Object[] columnNames =
		{
			"Id",
			"Clan Name",
			"Leader Name",
			"Level",
			"Members Count"
		};
		DefaultTableModel model = new DefaultTableModel(columnNames, 1);
		
		for (L2Clan cl : ClanTable.getInstance().getClans())
		{
			Object[] rowData = new Object[]
			{
				cl.getId(),
				cl.getName(),
				cl.getLeaderName(),
				cl.getLevel(),
				cl.getMembersCount(),
			};
			model.addRow(rowData);
			_clan = cl;
		}
		
		table = new JTable(model);
		table.addMouseListener(new MouseAdapter()
		{
			@Override
			public void mouseReleased(MouseEvent e)
			{
				int r = table.rowAtPoint(e.getPoint());
				if ((r >= 0) && (r < table.getRowCount()))
				{
					table.setRowSelectionInterval(r, r);
				}
				else
				{
					table.clearSelection();
				}
				
				int rowindex = table.getSelectedRow();
				if (rowindex < 0)
				{
					return;
				}
				if (e.isPopupTrigger() && (e.getComponent() instanceof JTable))
				{
					JMenuItem ClanMember;
					JPopupMenu po = new JPopupMenu();
					po.add(ClanMember = new JMenuItem("Member"));
					ClanMember.addActionListener(e1 ->
					{
						JPanel panel = new JPanel();
						// create table with data
						// headers for the table
						Object[] columnNames =
						{
							"Name",
							"Level",
							"ClassId"
						};
						DefaultTableModel model = new DefaultTableModel(columnNames, 1);
						
						for (L2ClanMember cm : getClan().getMembers())
						{
							if (cm != null)
							{
								Object[] rowData = new Object[]
								{
									cm.getName(),
									cm.getLevel(),
									cm.getClassId(),
								};
								model.addRow(rowData);
							}
						}
						
						table = new JTable(model);
						table.addMouseListener(new MouseAdapter()
						{
							@Override
							public void mouseReleased(MouseEvent e)
							{
								int r = table.rowAtPoint(e.getPoint());
								if ((r >= 0) && (r < table.getRowCount()))
								{
									table.setRowSelectionInterval(r, r);
								}
								else
								{
									table.clearSelection();
								}
								
								int rowindex = table.getSelectedRow();
								if (rowindex < 0)
								{
									return;
								}
								if (e.isPopupTrigger() && (e.getComponent() instanceof JTable))
								{
									JMenuItem ClanMember;
									JPopupMenu po = new JPopupMenu();
									po.add(ClanMember = new JMenuItem("Member"));
									ClanMember.addActionListener(e1 ->
									{
										
									});
									
									po.show(e.getComponent(), e.getX(), e.getY());
								}
							}
						});
						panel.add(new JScrollPane(table));
						JOptionPane.showConfirmDialog(null, panel, "Clan Member", JOptionPane.YES_OPTION, JOptionPane.INFORMATION_MESSAGE);
					});
					
					po.show(e.getComponent(), e.getX(), e.getY());
					table.setRowSelectionInterval(r, r);
				}
			}
		});
		contentPane.add(new JScrollPane(table));
	}

Благодаря за отделеното време. Поздрави!..

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.