我想实现这样的效果:
一个jPanel用cardlayout控制panel1到panelN;
另有一个buttonPanel含两个按钮“上一步”和“下一步”;
我想在显示panel1的时候不显示“上一步”按钮,显示panelN的时候不显示“下一步”按钮。
我试了很多种方法都没有用,到底该如何实现?
一个jPanel用cardlayout控制panel1到panelN;
另有一个buttonPanel含两个按钮“上一步”和“下一步”;
我想在显示panel1的时候不显示“上一步”按钮,显示panelN的时候不显示“下一步”按钮。
我试了很多种方法都没有用,到底该如何实现?
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;public class CardLayoutDemo extends JFrame{
private CardLayout card = new CardLayout();
private JButton btnPrev = new JButton("<<");
private JButton btnNext = new JButton(">>");
private JPanel cPane = new JPanel(card);
private JPanel sPane = new JPanel();
private JPanel pane1 = new JPanel();
private JPanel pane2 = new JPanel();
private JPanel pane3 = new JPanel();
private JPanel pane4 = new JPanel();
private static int temp = 1;
public CardLayoutDemo(){
createUI();
addListener();
}
private void createUI(){
this.getContentPane();
this.add("Center",cPane);
pane1.setBackground(Color.BLUE);
pane1.add(new JLabel("µÚÒ»¿éÃæ°æ"));
pane2.setBackground(Color.RED);
pane2.add(new JLabel("µÚ¶þ¿éÃæ°æ"));
pane3.setBackground(Color.YELLOW);
pane3.add(new JLabel("µÚÈý¿éÃæ°æ"));
pane4.setBackground(Color.GREEN);
pane4.add(new JLabel("µÚËÄ¿éÃæ°æ"));
cPane.add("1",pane1);
cPane.add("2",pane2);
cPane.add("3",pane3);
cPane.add("4",pane4);
this.add("South",sPane);
sPane.add(btnPrev);
btnPrev.setEnabled(false);
sPane.add(btnNext);
this.setSize(300,200);
this.setLocation(200,200);
}
private void addListener(){
btnPrev.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
card.previous(cPane);
temp--;
if(temp != 1){
btnNext.setEnabled(true);
}else{
btnPrev.setEnabled(false);
}
}
});
btnNext.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
card.next(cPane);
temp++;
if(temp != 4){
btnPrev.setEnabled(true);
}else{
btnNext.setEnabled(false);
}
}
});
}
public static void main(String args[]){
new CardLayoutDemo().setVisible(true);
}
}是这样吗?