标签: cardlayout

如何在NetBeans GUI构建器中使用卡布局?

有谁知道如何使用NetBeans GUI构建器工具中的卡布局?我想根据JRadioButton选择显示面板,所以我想使用卡片布局来展示它.

java swing netbeans gui-editor cardlayout

6
推荐指数
2
解决办法
2万
查看次数

如何根据组合框选择更改UI

在对话框中,如果选中某个组合,则需要显示一组控件,否则显示另一组控件.即我需要2层,我需要在选中/取消选中组合时在它们之间切换.我怎样才能做到这一点?

谢谢

java user-interface swing cardlayout

6
推荐指数
1
解决办法
7425
查看次数

如何设置JFrame大小以适合显示JPanel的CardLayout?

我有一个JFrame包含了一组JPanelsCardLayout.每个JPanel都有不同的大小,我希望JFrame适应当前显示的大小JPanel(JPanel不适应大小JFrame).

我怎样才能做到这一点?

java swing jpanel jframe cardlayout

6
推荐指数
1
解决办法
5977
查看次数

如何重新加载JPanel?

我是一个Java新手...我需要怎么知道到reload一个JPanel?我扩展了JPanel类并创建了一个将cardlayout在Applet中运行的面板.reload/refresh在用户单击button此面板中的a后,我想要此面板.我尝试在按钮中包含revalidate()和repaint()方法(我不太了解的方法)ActionListener但没有发生任何事情.任何人都可以了解如何正确刷新整个面板?

java swing jpanel cardlayout

6
推荐指数
1
解决办法
4万
查看次数

单击按钮更改面板大小

我有以下代码:

package in.res.num.tapb.ui;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

class MainClass extends JPanel {
    public MainClass() {
        Registration registration = new Registration();
        ButtonPanel buttonPanel = new ButtonPanel();
        buttonPanel.setRegistration(registration);

        buttonPanel.setBorder(BorderFactory.createTitledBorder("Button Panel"));
        registration.setBorder(BorderFactory.createTitledBorder("Registration Panel"));

        setLayout(new BorderLayout());
        add(registration, BorderLayout.CENTER);
        add(buttonPanel, BorderLayout.SOUTH);
    }

    private static void createAndShowUI() {
        JFrame frame = new JFrame("Registration");
        frame.getContentPane().add(new MainClass());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        java.awt.EventQueue.invokeLater(new …
Run Code Online (Sandbox Code Playgroud)

java validation swing repaint cardlayout

5
推荐指数
1
解决办法
4623
查看次数

如何在CardLayout中显示不同的卡?

我查看了使用此代码的代码示例:

cl.show(cardPanel, "" + (currentCard));
Run Code Online (Sandbox Code Playgroud)

但是当我使用时,我show在Eclipse中收到一条消息,它已被弃用,我想知道当我点击按钮时是否还有另一种方法可以显示CardLayout中的不同卡片?下面是我的CardLayout类的代码.如果代码的某些部分是不好的做法,也欢迎提出建议.谢谢!

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class CardLayoutTest extends JFrame implements ActionListener {

// Ref
 private JPanel cardPanel, jp1, jp2, buttonPanel;
 private JLabel jl1, jl2;
 private JButton btn1, btn2;
 private CardLayout cardLayout;

// Konstruktor
 public CardLayoutTest()
 {
     setTitle("Test med CardLayout");
     setSize(600,400);

     cardPanel = new JPanel();
     buttonPanel = new JPanel();

     cardPanel.setLayout(cardLayout);

     jp1 = new JPanel();
     jp2 = new JPanel();

     jl1 = new JLabel("Card 1");
     jl2 = new JLabel("Card 2");

     jp1.add(jl1); …
Run Code Online (Sandbox Code Playgroud)

java swing jframe cardlayout

5
推荐指数
2
解决办法
3万
查看次数

如何在继续之前等待JFrame关闭?

我的程序包含3个主要"部分".主要功能,登录表格和App表格.主要功能应该是这样的:打开登录表单,等待它关闭,然后打开App表单.我不能让等待的部分工作,或者更确切地说,我不知道如何去做这件事.

有人告诉我使用JDialog代替并使用setModal(true),但是使用这种方法,登录表单不会出现在任务栏上,这在我看来很糟糕.

我考虑的另一件事是在关闭后从Login内部打开应用程序,但这感觉就像糟糕的设计,因为这会使登录表单不可重用.

那么,拜托,你会建议什么?

java user-interface swing jdialog cardlayout

5
推荐指数
1
解决办法
2042
查看次数

我可以在CardLayout中设置各个面板的大小吗?

当我创建我的GUI时,我使用cardlayout来保存我的不同面板,因为我相信很多人都知道.这会将我的屏幕设置为我最大面板的宽度和高度.这使我第一次到屏幕的美观,这是远小于问题SudokuPanelCalkuroPanel.

当我换到更大的屏幕时,我尝试设置首选大小,但无济于事.

任何帮助链接到良好的信息或任何通常只会帮助的人将非常感激:).

请在下面找到我的主要课程(我在哪里画GUI):

import java.awt.*; import javax.swing.*; import java.util.*;

public class puzzleGUI{
  private static JPanel screens;
  public static String username;
  static public void main (String[] args){
  JFrame puzzle = new JFrame ("Sudoku/Calkuro Pro");

  ...

  PuzzleStartPanel startPanel = new PuzzleStartPanel();
  PuzzleChoosePanel choosePanel = new PuzzleChoosePanel();
  PuzzleSudokuPanel sudokuPanel = new PuzzleSudokuPanel(); 
  PuzzleCalkuroPanel calkuroPanel = new PuzzleCalkuroPanel();

  screens = new JPanel(new CardLayout()); 
  screens.add(startPanel, "start");
  screens.add(choosePanel, "choosePuzzle");
  screens.add(sudokuPanel, "sudoku");
  screens.add(calkuroPanel, "calkuro");
  screens.setPreferredSize (new Dimension(250, 80));

  puzzle.setJMenuBar(menuBar);
  puzzle.getContentPane().add(screens);
  puzzle.pack();
  puzzle.setVisible(true); …
Run Code Online (Sandbox Code Playgroud)

java swing panel cardlayout

5
推荐指数
1
解决办法
2462
查看次数

大小不同的CardLayout

好吧,我CardLayout在每张卡上使用不同尺寸的卡片时遇到了一些麻烦。

阅读了《使用多个JFrame:好还是不好的做法》之后?我注意到我做事的方式不恰当,所以我决定开始学习如何使用CardLayout

我已经尝试过@HovercraftFullOfEels的答案

这一次从@mKorbel

最后是@Kleopatra 的答案

所有这些都是基于气垫船的答案,但有一些变化。我能够创建CardLayout(并且对此仍然感到困惑),并且我(以某种方式)可以实现Kleopatra的方法,它可以调整框架的大小,但不能如愿,在复制和粘贴代码时,您会注意到它减小了框架的大小。大小仅为几毫米(或像素)。

我不确定这是关于我正在使用的布局管理器,还是因为我没有以正确的方式使用Kleopatra的方法,因为我也不知道@Override方法的工作原理或何时使用它什么时候没有

这是MCVE(我能做的最短的)。

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;

public class PageViewer extends CardLayout{ 
    private static final String loginCard = "login";
    private static final String userCard = "createUser";

    JFrame frame;
    JPanel contentPane;
    CardLayout cardLayout;

    @Override
    public Dimension preferredLayoutSize(Container parent) {
        Component current = findCurrentComponent(parent);
        if (current != null) {
            Insets insets = parent.getInsets();
            Dimension pref = current.getPreferredSize();
            pref.width …
Run Code Online (Sandbox Code Playgroud)

java layout swing layout-manager cardlayout

5
推荐指数
1
解决办法
2403
查看次数

CardLayout,通过ButtonClick在JPanels之间切换

我想通过单击 JPanel 上的按钮在 JPanel 之间切换。

例如:我有一个带有 JButton simknop 的 JPanel sim 和带有 JButton helpknop 的 JPanel 帮助我想通过单击按钮在这两个 JPanel 之间切换。当我点击 JButton simknop JPanel 帮助应该出现,当我点击 JButton 帮助 JPanel sim 应该出现。

您可以在下面找到不同的类:

主程序

public class main extends JFrame
{

    JPanel cards;
    sim sim;
    help help;

    public main()
    {
        this.setSize(1024,768);
        //this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setTitle("Crazy Bombardement");
        this.setLocation(800, 100);//standaard in de hoek van het scherm

        cards = new JPanel();
        cards.setLayout(new CardLayout());
        sim = new sim();
        help = new help();

        cards.add(sim, "SIM");
        cards.add(help, "HELP");    

        this.add(cards);
        this.setVisible(true); …
Run Code Online (Sandbox Code Playgroud)

java swing awt layout-manager cardlayout

4
推荐指数
1
解决办法
1万
查看次数