0
点赞
收藏
分享

微信扫一扫

Java卡片布局管理器按动按钮切换显示内容

诗与泡面 2022-03-19 阅读 193
eclipsejava

题目:为何单击按钮无法显示下张卡片?请尝试修改代码实现此功能。

import java.awt.CardLayout;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;

public class J_CardLayout
{
    public static void main(String args[ ])
    {
        JFrame app = new JFrame( "卡片布局管理器例程" );
        app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        app.setSize( 180, 100 );
        Container c = app.getContentPane( );
        CardLayout card = new CardLayout( );
        c.setLayout( card );
        String s;
        JButton b;
        for (int i=0; i<5; i++)
        {
            s = "按钮" + (i+1);
            b = new JButton( s );
            c.add( b);//c.add( b, s );
        } // for循环结束
        card.show(c, "按钮1");
        card.next( c );
        app.setVisible( true );
    } // 方法main结束
} // 类J_CardLayout结束

改进后:

import java.awt.CardLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.*;


public class J_CardLayout
{
    public static void main(String args[ ])
    {
        JFrame app = new JFrame( "卡片布局管理器例程" );
        app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        app.setSize( 180, 100 );
        Container c = app.getContentPane( );
        CardLayout card = new CardLayout( );
        c.setLayout( card );
        String s;
        JButton b;
        for (int i=0; i<5; i++)
        {
            s = "按钮" + (i+1);
            b = new JButton( s );
            c.add( b);//c.add( b, s );
            card.show(c, "按钮1");
            b.addActionListener(new ActionListener()
            {
            	public void actionPerformed(ActionEvent e)
            	{
            		card.next( c );
            	}
            });
        } // for循环结束
        
        app.setVisible( true );
    } // 方法main结束
} // 类J_CardLayout结束
举报

相关推荐

Ubuntu切换桌面显示管理器

java流布局管理器

布局管理器

0 条评论