Java Swing Card布局更改面板按用户操作显示
我目前正在编写一个接口,其中a有一个Java Swing Card布局更改面板按用户操作显示,java,swing,jpanel,cardlayout,Java,Swing,Jpanel,Cardlayout,我目前正在编写一个接口,其中a有一个JFrame类和两个JPanel类。首次执行脚本时,将显示面板A。我在面板a中有一个JButton,单击它时,我希望显示面板B而不是面板a 我有什么办法可以做到这一点吗?请阅读 您可以使用CardLayout的next()方法来显示下一张卡 或者您可以使用show(…)用于显示特定卡 简单的例子: import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.event.Ac
JFrame
类和两个JPanel
类。首次执行脚本时,将显示面板A。我在面板a中有一个JButton
,单击它时,我希望显示面板B而不是面板a
我有什么办法可以做到这一点吗?请阅读
您可以使用CardLayout
的next()
方法来显示下一张卡
或者您可以使用show(…)代码>用于显示特定卡
简单的例子:
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Example {
public static void main(String[] args){
JFrame frame = new JFrame();
final JPanel panel = new JPanel(new CardLayout());
JLabel l1 = new JLabel("1");
JLabel l2 = new JLabel("2");
JLabel l3 = new JLabel("3");
panel.add(l1,"l1");
panel.add(l2,"l2");
panel.add(l3,"l3");
JButton btn = new JButton("next");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
CardLayout layout = (CardLayout) panel.getLayout();
layout.next(panel);
}
});
JButton btnSpec = new JButton("l3");
btnSpec.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
CardLayout layout = (CardLayout) panel.getLayout();
layout.show(panel, "l3");
}
});
frame.add(panel);
frame.add(btn,BorderLayout.SOUTH);
frame.add(btnSpec,BorderLayout.NORTH);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
读一读
您可以使用CardLayout
的next()
方法来显示下一张卡
或者您可以使用show(…)代码>用于显示特定卡
简单的例子:
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Example {
public static void main(String[] args){
JFrame frame = new JFrame();
final JPanel panel = new JPanel(new CardLayout());
JLabel l1 = new JLabel("1");
JLabel l2 = new JLabel("2");
JLabel l3 = new JLabel("3");
panel.add(l1,"l1");
panel.add(l2,"l2");
panel.add(l3,"l3");
JButton btn = new JButton("next");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
CardLayout layout = (CardLayout) panel.getLayout();
layout.next(panel);
}
});
JButton btnSpec = new JButton("l3");
btnSpec.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
CardLayout layout = (CardLayout) panel.getLayout();
layout.show(panel, "l3");
}
});
frame.add(panel);
frame.add(btn,BorderLayout.SOUTH);
frame.add(btnSpec,BorderLayout.NORTH);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
看一看。应该给你一些想法。“谢谢达里奥”的噪音,别说了。看看。应该给你一些想法。“谢谢Dario”的噪音,别说了。