- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个 JToolbar 组件并将其添加到框架中。
工具栏使用 BorderLayout。
我向工具栏添加了三个按钮,它们显示得很好,只是我希望将它们添加到工具栏的右侧。右对齐。
然后每当我向工具栏添加其他按钮时,我希望它们添加到左侧。
我怎样才能做到这一点?
我做了以下但发生的事情是按钮出现在彼此的顶部:S 右边的三个都在彼此上,左边的两个都在彼此上..
public class Toolbar extends JToolBar {
private JToggleButton Screenshot = null;
private JToggleButton UserKeyInput = null;
private JToggleButton UserMouseInput = null;
private CardPanel cardPanel = null;
public Toolbar() {
setFloatable(false);
setRollover(true);
setLayout(new BorderLayout());
//I want to add these three to the right side of my toolbar.. Right align them :l
Screenshot = new JToggleButton(new ImageIcon());
UserKeyInput = new JToggleButton(new ImageIcon());
UserMouseInput = new JToggleButton(new ImageIcon());
cardPanel = new CardPanel();
add(Screenshot, BorderLayout.EAST);
add(UserKeyInput, BorderLayout.EAST);
add(UserMouseInput, BorderLayout.EAST);
addListeners();
}
public void addButtonLeft() {
JButton Tab = new JButton("Game");
Tab.setFocusable(false);
Tab.setSize(50, 25);
Tab.setActionCommand(String.valueOf(Global.getApplet().getCanvas().getClass().hashCode()));
Tab.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cardPanel.jumpTo(Integer.valueOf(e.getActionCommand()));
}
});
add(Tab, BorderLayout.WEST);
}
}
最佳答案
它们彼此重叠,因为您将它们全部放在相同的两个位置 - 即 BorderLayout.EAST
和 BorderLayout.WEST
.
无需使用 BorderLayout
即可达到您想要的效果而是使用 JToolBar
的默认布局。
add(tab);
// add other elements you want on the left side
add(Box.createHorizontalGlue());
add(Screenshot);
add(UserKeyInput);
add(UserMouseInput);
//everything added after you place the HorizontalGlue will appear on the right side
JPanel leftPanel = new JPanel();
add(leftPanel);
add(Box.createHorizontalGlue());
add(Screenshot);
add(UserKeyInput);
add(UserMouseInput);
addButtonLeft()
方法将新按钮添加到面板,而不是直接添加到工具栏。
关于java - JToolbar 左右插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16230181/
我试图将 JMenu 和 JToolbar 放在 JFrame 的 NORTH 位置,但它们相互重叠。有什么办法可以将两者都放在 NORTH 位置吗? 最佳答案 不要尝试将两个组件添加到框架的北部。
我有一个简单的绘图应用程序。我需要在左侧添加一个菜单和一个工具栏。现在,我不再使用简单的 JFrame,而是创建一个扩展 JFrame 的简单类。我能够按照一些在线示例添加菜单,但不知道如何添加 JT
我有一个 JToolBar 并且喜欢对项目重新排序。 例如,我有一个“新建”、一个“打开”和一个“保存”按钮。 我在不同的线程中添加这些按钮,因此顺序是随机的。 不幸的是,顺序是“保存”、“打开”、“
我创建了一个 JToolbar 组件并将其添加到框架中。 工具栏使用 BorderLayout。 我向工具栏添加了三个按钮,它们显示得很好,只是我希望将它们添加到工具栏的右侧。右对齐。 然后每当我向工
如何在一个屏幕上放置多个 JToolBar 并允许它们 float 。通常我们把JToolBar放在一个有BorderLayout的容器上。如果我们将所有 JToolBar 放在一个面板上,然后将面板
Video的问题。 问题 1:无论我将其放到哪个位置,从左侧拖动任何 JToolBar 都会插入到最右侧。 问题 2:将最右边的 JToolBar 拖动到任何位置都不会产生任何变化,如视频中所示。 期
JToolBar 可以从框架或面板附加和分离到一个单独的窗口中。所以我想将它用作一组紧急命令和指示器。问题是分离时如果你最小化它所属的框架,工具栏也会最小化,我希望它留在屏幕上。 最佳答案 the
我有一个 java 应用程序,它需要动态添加包含在 jpanels 中的按钮集。例如:- . . JButton button1 = new JButton("Button_1"); JButton
我有一个 JToolbar。我想知道是否有办法阻止它水平移动。我宁愿它只垂直。我确实希望它漂浮。 我曾尝试制作属性更改监听器并将方向更改回垂直但没有成功。谢谢 最佳答案 只需使用默认 float 布局
有没有办法在现有面板的其余组件上绘制停靠的 JToolBar? 基本上,我希望在停靠工具栏时(从 float 位置)不干扰我的其他组件和现有布局。 简单的例子,只是为了开始.. public clas
我在java中使用netbeans创建了全屏jform。我需要创建全屏宽度大小的 jtoolbar。我如何做到这一点? 我使用此代码创建全屏尺寸 jform/jform 调整大小 Dimension
我想在Java中为JToolBar设置渐变背景色。我能够为 JPanel 设置此渐变效果。 谢谢,萨蒂什 最佳答案 与任何其他 Swing 组件一样,您必须重写其 paintComponent(...
我正在编写一个头部带有工具栏的程序。唯一的问题是我无法在工具栏中的组件(即日期选择器)上设置正确的大小。 screenshot 所以我想调整工具栏中日期选择器的大小。我该如何解决这个问题? 最漂亮的选
任何人都可以帮助解决这个问题我正在尝试创建一个 JToolBar 并且我希望它的所有组件的大小和位置都是固定的。我尝试了几种不同的布局管理器,但它们都会在组件所在的框架重新调整大小时调整组件的中心和/
我需要添加一个简单的间隙/空间/边距,以便在这两个按钮之间留出空间。不幸的是我无法让它发挥作用。谁能给我一些建议吗? 它基于BorderLayout,按钮位于JToolBar 最佳答案 包含这些按钮的
我使用 Java Swing (Windows Builder Pro) 为个人项目创建了一个 GUI,它有一个 JToolBar。我在工具栏中的按钮之间添加了分隔符。 JButton btnSave
私有(private) JButton btnTask = new JButton();...TaiGlobal.taskbar.add(btnTask); 如何从 JToolBar 中删除 btnT
如何消除 JToolBar 中控件之间的间隙?我希望 JToolBar 中的控件之间没有可用空间。 编辑:我错了。没有可用空间。问题是由仅带有图标的 JButton(位于 JToolBar 中)引起的
我有一个带有JToggleButtons 的水平JToolbar。由于某种原因,它被放置在一个高度更大的容器中。我的 JToggleButtons 只使用它们需要的空间,在它们下方和下方留下丑陋的空白
我正在尝试在 JToolBar 中对齐 JToggleButton。我希望按钮垂直向左对齐。我的代码如下: JToolBar toolbar = new JToolBar(); toolbar.set
我是一名优秀的程序员,十分优秀!