- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个简单的绘图应用程序。我需要在左侧添加一个菜单和一个工具栏。现在,我不再使用简单的 JFrame,而是创建一个扩展 JFrame 的简单类。我能够按照一些在线示例添加菜单,但不知道如何添加 JToolBar。我尝试了几种不同的方法,但没有任何效果。我没有收到错误,一切都很好,但我没有看到任何 JToolBar。这是我的 JFrame 的代码,希望对您有所帮助。
class Menu extends JFrame {
private JMenuItem openItem;
private JMenuItem saveItem;
private JMenuItem saveAsItem;
public Menu(String title) {
openItem = new JMenuItem("Open...");
openItem.setMnemonic('O');
openItem.setAccelerator(KeyStroke.getKeyStroke("control O"));
saveItem = new JMenuItem("Save");
saveItem.setMnemonic('S');
saveItem.setAccelerator(KeyStroke.getKeyStroke("control S"));
saveAsItem = new JMenuItem("Save As...");
saveAsItem.setMnemonic('S');
saveAsItem.setAccelerator(KeyStroke.getKeyStroke("control S"));
// (2) Build menubar, menus, and add menuitems.
JMenuBar menubar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
fileMenu.setMnemonic('F');
menubar.add(fileMenu);
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(saveItem);
// (3) Add listeners to menu items
openItem.addActionListener(new OpenAction()); // TODO change
setJMenuBar(menubar);
JToolBar toolbar = new JToolBar("Toolbar", JToolBar.VERTICAL);//);
// JPanel panel = new JPanel();
// panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
JButton newb = new JButton("new");
toolbar.add(newb);
// toolbar.setOpaque(true);
toolbar.setLocation(100, 100);
toolbar.setVisible(true);
// toolbar.setMinimumSize(new Dimension(100, 100));
// toolbar.setAlignmentX(0);
// panel.add(toolbar);
add(toolbar, BorderLayout.NORTH);
getContentPane().add(toolbar, BorderLayout.NORTH);
// getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
setTitle(title);
pack();
setLocationRelativeTo(null); // Center window.
}
// OpenAction
class OpenAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(Menu.this, "Can't Open.");
}
}
}
最佳答案
它工作正常,并且您不需要设置可见工具栏,因为它默认显示,也不要在同一位置(北)两次添加工具栏
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MenuDemo {
public static void main(String... args) {
EventQueue.invokeLater(
new Runnable() {
@Override
public void run() {
JFrame menu = new Menu("Testing");
menu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
menu.setVisible(true);
}
}
);
}
}
class Menu extends JFrame {
private JMenuItem openItem;
private JMenuItem saveItem;
private JMenuItem saveAsItem;
public Menu(String title) {
openItem = new JMenuItem("Open...");
openItem.setMnemonic('O');
openItem.setAccelerator(KeyStroke.getKeyStroke("control O"));
saveItem = new JMenuItem("Save");
saveItem.setMnemonic('S');
saveItem.setAccelerator(KeyStroke.getKeyStroke("control S"));
saveAsItem = new JMenuItem("Save As...");
saveAsItem.setMnemonic('S');
saveAsItem.setAccelerator(KeyStroke.getKeyStroke("control S"));
// (2) Build menubar, menus, and add menuitems.
JMenuBar menubar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
fileMenu.setMnemonic('F');
menubar.add(fileMenu);
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(saveItem);
// (3) Add listeners to menu items
openItem.addActionListener(new OpenAction()); // TODO change
setJMenuBar(menubar);
JToolBar toolbar = new JToolBar("Toolbar", JToolBar.VERTICAL);//);
JButton newb = new JButton("new");
toolbar.add(newb);
add(toolbar, BorderLayout.NORTH);
setTitle(title);
setLocationRelativeTo(null);
pack();
}
// OpenAction
private class OpenAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(Menu.this, "Can't Open.");
}
}
}
关于java - JToolBar 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9550246/
我试图将 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
我是一名优秀的程序员,十分优秀!