Java 如何从其他类调用cardlayout.show?
我正在尝试将cardlayout.show方法调用到下面的类Java 如何从其他类调用cardlayout.show?,java,swing,layout,jpanel,cardlayout,Java,Swing,Layout,Jpanel,Cardlayout,我正在尝试将cardlayout.show方法调用到下面的类 protected void makelabeltxt(final String text, GridBagLayout gridbag, GridBagConstraints c, int width, int height, final String panel) { final JLabel label = new JLabel(text); Dimension d = new Dim
protected void makelabeltxt(final String text, GridBagLayout gridbag, GridBagConstraints c, int width, int height, final String panel) {
final JLabel label = new JLabel(text);
Dimension d = new Dimension(width, height);
gridbag.setConstraints(label, c);
label.setFont(new Font("Sans Serif", 0, 11));
label.setPreferredSize(d);
label.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println(panel);
fp.showPanel(panel);
System.out.println("mouse clicked "+text);
}
@Override
public void mousePressed(MouseEvent e) {
label.setText(" " + text);
System.out.println("mouse pressed "+text);
}
@Override
public void mouseReleased(MouseEvent e) {
label.setText(" " + text);
System.out.println("mouse release "+text);
}
@Override
public void mouseEntered(MouseEvent e) {
label.setText(" " + text);
System.out.println("mouse entered "+text);
}
@Override
public void mouseExited(MouseEvent e) {
label.setText(text);
}
});
add(label);
}
在另一个类中,我创建了这样的方法,这就是我想要调用的方法。我想交换jpanel
,但在另一个jpanel
:下面的方法正在工作,但是当cardlayout显示脚本时,什么都没有发生,println脚本很好
public void showPanel(String panel){
System.out.println("panel : "+panel);
cl.show(mainInPanel, panel);
}
这是我如何使用cardlayout将JPanel添加到JPanel的
你应该在创建CardLayout对象和向其中添加面板的位置发布相关代码。不相关的问题:不要使用。这是一个相关的问题。我现在知道了这个问题,我安装了两倍的类,所以第一个类在第二个类之下,无论如何感谢所有回答我问题的人,我希望这篇文章能有所帮助
public void initPanelFrm(JPanel panel, String gambar) {
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
panel.setLayout(gridbag);
panel.setPreferredSize(new Dimension(810, 280));
panel.setBackground(Color.white);
makelabelimg("com/reporting/image/"+gambar+".png", 444, 23, panel);
panel.setVisible(false);
mainInPanel.add(panel, gambar);
}
public void initInPanel(){
rekappenjualanpsc = new JPanel();
initPanelFrm(rekappenjualanpsc, "rekappenjualanpsc");
rekapbastudenganmaskapai = new JPanel();
initPanelFrm(rekapbastudenganmaskapai, "rekapbastudenganmaskapai");
rekapitulasisetoranmaskapai = new JPanel();
initPanelFrm(rekapitulasisetoranmaskapai, "rekapitulasisetoranmaskapai");
rekappenjualanpscpermaskapai = new JPanel();
initPanelFrm(rekappenjualanpscpermaskapai, "rekappenjualanpscpermaskapai");
rekappungutanlangsungpsc = new JPanel();
initPanelFrm(rekappungutanlangsungpsc, "rekappungutanlangsungpsc");
laporandetailpetugas = new JPanel();
initPanelFrm(laporandetailpetugas, "laporandetailpetugas");
detailpembayaranpenumpang = new JPanel();
initPanelFrm(detailpembayaranpenumpang, "detailpembayaranpenumpang");
}