MouseListener +JTable

0

Mam do napisania program w ktorym wykozystuwana jest JTable.Komorki tabeli w zeczywistosci są Jpanelami składającymi się z JTextField i JLabel. Chciałbym aby po kliknieciu w obiekt JLabel otwierało się nowe okno.Stworzyłem sobie CellEditor

class JPanelEditor extends DefaultCellEditor {
  protected JButton button;
  Frame jj;
  private String label;

  private boolean isPushed;

  public JPanelEditor(JCheckBox checkBox) {
    super(checkBox);
  
  }

  public Component getTableCellEditorComponent(JTable table, Object value,boolean isSelected, int row, int column) {
		JPanel pa=(JPanel)value;
		pa.addMouseListener(new MyMouseAdapter("wcisnieto przycisk") );
        fireEditingStopped();
		return table.getEditorComponent(); 
    
	 }
	 public Object getCellEditorValue() {
		    return "";
	 }

	 public boolean stopCellEditing() {
	
	        return super.stopCellEditing();
	 }
	
		protected void fireEditingStopped() {	
			super.fireEditingStopped();
		}
}

oraz:

class MyMouseAdapter extends MouseAdapter implements MouseListener{
                String a;
				public MyMouseAdapter(String a){
				this.a=a;
				}
                public void mouseEntered(MouseEvent e) {
					System.out.println(a);
                    JFrame  jj=new JFrame();
					JButton ok=new JButton(new ImageIcon("POSTITS.jpg"));
					jj.add(ok);
					jj.setVisible(true);
				}
}

jednak zdazenie się nie wykonuje.Prosiłbym o pomoc.
Z gory dzieki

0
turek86 napisał(a)

Mam do napisania program w ktorym wykozystuwana jest JTable.Komorki tabeli w zeczywistosci są Jpanelami składającymi się z JTextField i JLabel. Chciałbym aby po kliknieciu w obiekt JLabel otwierało się nowe okno.Stworzyłem sobie CellEditor

class JPanelEditor extends DefaultCellEditor {
  protected JButton button;
  Frame jj;
  private String label;

  private boolean isPushed;

  public JPanelEditor(JCheckBox checkBox) {
    super(checkBox);
  
  }

  public Component getTableCellEditorComponent(JTable table, Object value,boolean isSelected, int row, int column) {
		JPanel pa=(JPanel)value;
		pa.addMouseListener(new MyMouseAdapter("wcisnieto przycisk") );
        fireEditingStopped();
		return table.getEditorComponent(); 
    
	 }
	 public Object getCellEditorValue() {
		    return "";
	 }

	 public boolean stopCellEditing() {
	
	        return super.stopCellEditing();
	 }
	
		protected void fireEditingStopped() {	
			super.fireEditingStopped();
		}
}

oraz:

class MyMouseAdapter extends MouseAdapter implements MouseListener{
                String a;
				public MyMouseAdapter(String a){
				this.a=a;
				}
                public void mouseEntered(MouseEvent e) {
					System.out.println(a);
                    JFrame  jj=new JFrame();
					JButton ok=new JButton(new ImageIcon("POSTITS.jpg"));
					jj.add(ok);
					jj.setVisible(true);
				}
}

jednak zdazenie się nie wykonuje.Prosiłbym o pomoc.
Z gory dzieki

jeżeli chcesz aby wyświetlało się po kliknięciu to nie mouseEntered tylko mouseClicked
i ja nie widzę nigdzie w kodzie ani jednego obiektu typu JLabel :| więc jak po jego kliknięciu ma się coś dziać... na większej ilości ewentualnych pomyłek się nie skupiłem bo późno jeszcze zerknę potem i jak coś znajdę to dopisze..

1 użytkowników online, w tym zalogowanych: 0, gości: 1