щелкнув JPanel внутри JFrame - PullRequest
1 голос
/ 27 ноября 2010

Итак, у меня есть JFrame, в котором он содержит JPanel, который называется venPanel.Когда я нажимаю venPanel, я хочу, чтобы JFrame добавил новый JPanel к востоку от макета (потому что JFrame использует макет границы).Как я могу достичь этого в моем venPanel классе?В настоящее время слушатель действия mouseClick для venPanel реализован следующим образом:

@Override
public void mouseClicked(MouseEvent arg0) {
    try {
        GUIVenDetails vendetail = new GUIVenDetails(ven);
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

Где GUIVenDetails - это JPanel, который я хотел добавить к востоку от JFrame.вопрос ясен ..

Ответы [ 2 ]

2 голосов
/ 27 ноября 2010

Или вы можете добавить JPanel к EAST, который использует CardLayout, а затем поменять JPanels в этом месте, вызвав методы CardLayout.

2 голосов
/ 27 ноября 2010

Что-то вроде:

JPanel source = (JPanel)event.getSource();
JPanel parent = (JPanel)source.getParent();
parent.add(anotherPanel, BorderLayout.EAST);
parent.revalidate();
...