私は何かの手が必要です。コンポーネントがどのパネルに属しているかを調べるにはどうすればいいですか?
私はオブジェクトでいっぱいのパネルを手に入れました。これらのオブジェクトはそれぞれ、パネル内にパネルを作成します。パネルにはラベルが表示されます。それは自家製のJTableだから話す。 右クリックメニューを作って、編集/削除/などをクリックする必要があります。どのオブジェクトをクリックしたのかを知る必要があります。
public class Aktivitet {
static JPanel sPanel;
static String navn;
static String kontakt;
static String event;
static String oprettet;
static String note;
static String deadline;
static int tilstand;
public Aktivitet(JPanel panel, String sNavn, String sKontakt, String sEvent, String sOprettet, String sNote, String sDeadline, int sTilstand) {
this.navn = sNavn;
this.kontakt = sKontakt;
this.event = sEvent;
this.oprettet = sOprettet;
this.note = sNote;
this.deadline = sDeadline;
this.tilstand = sTilstand;
this.sPanel = panel;
JPanel akPan = new JPanel();
JPanel fillerPanel = new JPanel();
if (tilstand == 0) akPan.setBackground(Color.GREEN);
if (tilstand == 1) akPan.setBackground(Color.YELLOW);
if (tilstand == 2) akPan.setBackground(Color.RED);
akPan.setLayout(new GridLayout(4,3));
akPan.setBorder(BorderFactory.createRaisedBevelBorder());
akPan.setSize(new Dimension(10000, 75));
akPan.setMaximumSize(new Dimension(10000, 75));
fillerPanel.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY));
fillerPanel.setSize(new Dimension(10000, 1));
fillerPanel.setMaximumSize(new Dimension(10000, 1));
JLabel navnP = new JLabel();
JLabel kontaktP = new JLabel();
JLabel eventP = new JLabel();
JLabel oprettetP = new JLabel();
JLabel noteP = new JLabel();
JLabel deadlineP = new JLabel();
JLabel label_navn = new JLabel();
JLabel label_kontakt = new JLabel();
JLabel label_event = new JLabel();
JLabel label_oprettet = new JLabel();
JLabel label_note = new JLabel();
JLabel label_deadline = new JLabel();
navnP.setText("Aktivitetsnavn:");
navnP.setFont(new Font("dialog",Font.ITALIC,9));
kontaktP.setText("Kontaktperson:");
kontaktP.setFont(new Font("dialog",Font.ITALIC,9));
eventP.setText("Event:");
eventP.setFont(new Font("dialog",Font.ITALIC,9));
label_navn.setText(navn);
label_navn.setFont(new Font("monospaced",Font.BOLD,16));
label_kontakt.setText(kontakt);
label_kontakt.setFont(new Font("monospaced",Font.BOLD,16));
label_event.setText(event);
label_event.setFont(new Font("monospaced",Font.BOLD,16));
oprettetP.setText("Oprettet:");
oprettetP.setFont(new Font("dialog",Font.ITALIC,9));
noteP.setText("Evt. Note:");
noteP.setFont(new Font("dialog",Font.ITALIC,9));
deadlineP.setText("Deadline:");
deadlineP.setFont(new Font("dialog",Font.ITALIC,9));
label_oprettet.setText(oprettet);
label_oprettet.setFont(new Font("monospaced",Font.BOLD,16));
label_note.setText(note);
label_note.setFont(new Font("monospaced",Font.BOLD,16));
label_deadline.setText(deadline);
label_deadline.setFont(new Font("monospaced",Font.BOLD,16));
akPan.add(navnP);
akPan.add(kontaktP);
akPan.add(eventP);
akPan.add(label_navn);
akPan.add(label_kontakt);
akPan.add(label_event);
akPan.add(oprettetP);
akPan.add(noteP);
akPan.add(deadlineP);
akPan.add(label_oprettet);
akPan.add(label_note);
akPan.add(label_deadline);
panel.add(akPan);
panel.add(fillerPanel);
panel.addMouseListener(new MouseActionListener());
akPan.setVisible(true);
fillerPanel.setVisible(true);
}
public class MouseActionListener implements MouseListener {
public void mouseClicked(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
}
}
ありがとうございます!
うーん...それほど似ているとJTableを使用してみませんか?それ以外の方法では、常に「ライブ」コンポーネントが必要な場合は、適切なバインドを行わないのはなぜですか? – kleopatra