问题标签 [cardlayout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 重新实例化 jpanels
我需要JPanel
在我正在编写的应用程序中重新实例化 a (基本上它是一个输入窗口,用户可以在其中构建图形,我希望用户能够清空它,所以使用CardLayout
不是一个选项),我正在考虑使用这样的东西:
问题是,当面板 p1 被重新实例化时,由于背景颜色发生变化, lbl2 没有显示,如果我只需要将面板重新实例化为空白状态,这不会那么糟糕,但我正在考虑使用这个方法也是通过装饰器模式向面板添加职责,因此我需要显示新恢复面板的组件。
java - 切换后如何启动 JPanel
我正在创建一个带有菜单和实际游戏本身的 Pong 克隆。我正在使用 aCardLayout
在两者之间切换JPanels
。
但是,当我从菜单切换到棋盘(或游戏区)时,棋盘就坐在那里,不会接受我的键盘输入。我如何启动它或开始按键监听?
java - 清除 JFrame 的组件并添加新组件
我有一个JFrame
,其中有一些选择。当按下确定按钮时,我希望JFrame
清除内容并添加新内容。我已经尝试过了,但问题是新JFrame
的弹出来。我究竟做错了什么?
java - Qt 框架中是否有与 Swing CardLayout 等效的功能?
我正在使用 Qt 框架设计一个应用程序,我想避免使用多个对话框,因为我认为打开许多对话框会变得混乱。我想知道 Qt 框架中是否有类似 Java 的 CardLayout 的东西。
谢谢你的帮助。
java - 如何设置 JFrame 大小以适合 CardLayout 显示的 JPanel?
我有JFrame
一个包含一组JPanels
的CardLayout
. 每个JPanel
都有不同的大小,我希望JFrame
适应当前显示的大小JPanel
(而不是JPanel
适应 的大小JFrame
)。
我怎样才能做到这一点?
java - JPanel 在 CardLayout 中切换后不会聚焦
我正在创建一个俄罗斯方块克隆作为个人项目。为了在菜单之间切换,我使用的是CardLayout
,但我遇到了一个问题。当我从一个菜单切换到另一个时,焦点不会转移到另一个JPanel
。我怎样才能解决这个问题?
这是我的 JFrame:
这是我的第一个 JPanel/菜单:
这是我的第二个 JPanel/菜单:
提前致谢!
java - CardLayout 中显示错误的 JPanel。getGraphics() 的问题
我有一个名为 SpacePotaters(JFrame 的子类)的顶级 GUI 类,并在其内容窗格中添加了一个名为 panelViews 的 JPanel(它使用 CardLayout 布局管理器)。除其他外,我将 MainMenu 对象(JPanel 的子类)和 GameView 对象(JPanel 的子类)作为卡片添加到 panelView。
如果它有用,主菜单绘制方法在这里:
现在我只绘制背景图像 - 稍后我将添加 JButtons,单击它会切换到不同的卡片。
这个想法是我从主菜单卡开始,必要时切换到其他卡。我运行程序并注意到主菜单卡在被为 gameView 创建的图像替换之前短暂闪烁。我知道我应该等到真正切换到该卡之前渲染 gameView 图形,这样游戏才不会过早启动。那不是我感到困惑的地方。即使我不等待,gameView 不应该只是开始运行而无法查看它吗?换句话说,不管gameView里面发生了什么,mainMenu不应该是唯一可见的卡片吗?
我认为问题出在 gameView 中,它使用主动渲染和双缓冲。GameView 有这个方法,在游戏的每个循环中调用一次:
注释掉此方法的主体会产生所需的结果 - 仅显示 mainMenu。我很困惑为什么会这样。我认为每个组件(JFrame、JPanel 等)都有自己的图形上下文。因此,当我在 GameView 中调用 getGraphics() 时,它不应该返回 gameView 面板的图形上下文,而不是 spTop 或 panelViews 的图形上下文吗?而且由于它只更改特定的图形上下文,如果 gameView 面板不可见(如果我在 mainMenu 对象上使用 CardLayout 的 show() 方法,它不应该是可见的),那么它不应该影响我对主菜单的视图. 有任何想法吗?
注意:如果我用 isVisible() 测试 gameView 和 mainMenu,gameView 返回 false,mainMenu 返回 true。此外,我使用 getGraphics() 来测试 mainMenu、spTop 和 gameView 图形上下文是否都不同——它们是不同的。所以gameView在它自己的图形上下文中绘制一个图像并且是不可见的,但是paintScreen()中drawImage()的效果仍然显示!真的很迷茫。
user-interface - 在卡片布局中制作某些面板显示
因此,我正在使用 gui 进行研究任务,左侧面板上有 3 个框“输入”、“处理”和“显示”,如果使用 CardLayout 选择“输入”,则第一个面板显示在对,如果选择“显示”,则显示最后一个面板,但我无法在这部分显示“处理”:
它的完整形式的代码:
导入 java.awt.event。; 导入 javax.swing。;
公共类 BookCentre 扩展 JFrame 实现 ActionListener {
}
}
}
}
}
} }
在 public void ActionPerformed 我能够使用 cardManager.first、next、previous、last。我只希望显示“处理”面板(所以 card2),而不是用户首先看到、最后看到或循环浏览所有面板。
java - 在 Java 中更改 JComboBox 的值
我正在尝试从 ActionListener 更改 JComboBox 的值,但没有运气。
我有一个 JComboBox,它在更改时会更改 CardLayout(切换到另一个 GUI)。
我有一个带有用户选项的菜单栏,我想自动更改 JComboBox selectedItem。本质上,我的最终愿望是让菜单栏可以更改 CardLayout(但我无法使用我的 ActionListener 更改卡布局)。
看起来代码无法从内部侦听器类中找到 JComboBox。
任何帮助,包括供我阅读的参考资料,将不胜感激。
这是我当前的代码(仍在开发中):
我尝试使用菜单时遇到的错误如下:
java - java.lang.IllegalArgumentException:无法添加到布局:约束必须是字符串
我的代码有困难CardLayout Manager
。我不知道为什么我会得到这个异常。我在CardLayout.show()
方法中传递了一个字符串,但我仍然收到此错误。请帮忙。这是我的主要课程。
这是我正在交换卡的外部课程。
实际上,我非常迫切地需要一些帮助。:(