- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个 Java 应用程序,用于修补模组并将纹理包添加到 Minecraft 中。我希望它使用通过 DJ 项目 JWebBrowser 访问的在线模组商店。我正在使用 Eclipse WindowBuilder/手动编码来构建 UI。我的问题是 WindowBuilder 因以下错误而崩溃
Stack trace:
java.lang.IllegalArgumentException: Width (125) and height (0) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
at java.awt.image.BufferedImage.<init>(Unknown Source)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeComponent.print(SWTNativeComponent.java:845)
at sun.awt.windows.WComponentPeer.print(Unknown Source)
at java.awt.GraphicsCallback$PeerPrintCallback.run(Unknown Source)
at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
at java.awt.Component.printAll(Unknown Source)
at org.eclipse.wb.internal.swing.utils.SwingImageUtils$2.run(SwingImageUtils.java:104)
at org.eclipse.wb.internal.swing.utils.SwingImageUtils.runInDispatchThread(SwingImageUtils.java:554)
at org.eclipse.wb.internal.swing.utils.SwingImageUtils.createComponentShotAWT(SwingImageUtils.java:102)
at org.eclipse.wb.internal.swing.utils.SwingImageUtils.makeShotsHierarchy(SwingImageUtils.java:235)
at org.eclipse.wb.internal.swing.utils.SwingImageUtils.makeShotsHierarchy(SwingImageUtils.java:261)
at org.eclipse.wb.internal.swing.utils.SwingImageUtils.makeShotsHierarchy(SwingImageUtils.java:261)
at org.eclipse.wb.internal.swing.utils.SwingImageUtils.makeShotsHierarchy(SwingImageUtils.java:261)
at org.eclipse.wb.internal.swing.utils.SwingImageUtils.makeShotsHierarchy(SwingImageUtils.java:261)
奇怪的是,如果我正常运行它,它就可以正常工作。这是相关的源代码:
setTitle("OpenMPatch");
getContentPane().setLayout(new BorderLayout(0, 0));
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
getContentPane().add(tabbedPane);
JPanel tabModStore = new JPanel();
tabbedPane.addTab("Mod Store", null, tabModStore, "Mod Store");
JWebBrowser modStore = new JWebBrowser();
modStore.setStatusBarVisible(false);
tabModStore.add(modStore);
JPanel tabSettings = new JPanel();
tabbedPane.addTab("Settings", null, tabSettings, "Settings");
comboBoxTheme = new JComboBox();
comboBoxTheme.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
setLAF(comboBoxTheme.getSelectedItem().toString());
}
});
comboBoxTheme.setModel(new DefaultComboBoxModel(new String[] {
"system", "java", "motif", "nimbus", "windows",
"windowsclassic" }));
try {
comboBoxTheme.setSelectedItem(Config.ReadConfig().get("LAF"));
} catch (Exception e) {
e.printStackTrace();
OpenMPatch.error(e);
}
JLabel lblTheme = new JLabel("Theme:");
lblTheme.setLabelFor(comboBoxTheme);
lblTheme.setFont(new Font("Tahoma", Font.PLAIN, 12));
lblTheme.setHorizontalAlignment(SwingConstants.RIGHT);
JButton btnSaveSettings = new JButton("Save Settings");
btnSaveSettings.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
saveSettings();
}
});
JButton btnRestoreDefualts = new JButton("Restore Defualts");
btnRestoreDefualts.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
try {
Config.restoreDefualts();
updateSettings();
} catch (Exception e) {
e.printStackTrace();
error(e);
}
}
});
// Generated by WindowBuilder
GroupLayout gl_tabSettings = new GroupLayout(tabSettings);
gl_tabSettings
.setHorizontalGroup(gl_tabSettings
.createParallelGroup(Alignment.LEADING)
.addGroup(
gl_tabSettings
.createSequentialGroup()
.addContainerGap()
.addGroup(
gl_tabSettings
.createParallelGroup(
Alignment.LEADING)
.addGroup(
gl_tabSettings
.createSequentialGroup()
.addComponent(
lblTheme)
.addPreferredGap(
ComponentPlacement.RELATED)
.addComponent(
comboBoxTheme,
GroupLayout.PREFERRED_SIZE,
GroupLayout.DEFAULT_SIZE,
GroupLayout.PREFERRED_SIZE))
.addGroup(
gl_tabSettings
.createSequentialGroup()
.addComponent(
btnSaveSettings)
.addPreferredGap(
ComponentPlacement.RELATED)
.addComponent(
btnRestoreDefualts)))
.addContainerGap(365, Short.MAX_VALUE)));
gl_tabSettings
.setVerticalGroup(gl_tabSettings
.createParallelGroup(Alignment.LEADING)
.addGroup(
gl_tabSettings
.createSequentialGroup()
.addContainerGap()
.addGroup(
gl_tabSettings
.createParallelGroup(
Alignment.BASELINE)
.addComponent(lblTheme)
.addComponent(
comboBoxTheme,
GroupLayout.PREFERRED_SIZE,
GroupLayout.DEFAULT_SIZE,
GroupLayout.PREFERRED_SIZE))
.addGap(18)
.addGroup(
gl_tabSettings
.createParallelGroup(
Alignment.BASELINE)
.addComponent(
btnSaveSettings)
.addComponent(
btnRestoreDefualts))
.addContainerGap(274, Short.MAX_VALUE)));
tabSettings.setLayout(gl_tabSettings);
JPanel statusBar = new JPanel();
statusBar.setToolTipText("Status");
getContentPane().add(statusBar, BorderLayout.SOUTH);
setIconImage(Toolkit.getDefaultToolkit().getImage(
OpenMPatch.class.getResource("/alex/mik/openmpatch/icon.png")));
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu mnFile = new JMenu("File");
menuBar.add(mnFile);
JMenuItem mntmOpenFile = new JMenuItem("Open File...");
mntmOpenFile.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent paramMouseEvent) {
}
});
mntmOpenFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
InputEvent.CTRL_MASK));
mnFile.add(mntmOpenFile);
JMenuItem mntmOpenFolder = new JMenuItem("Open Folder...");
mntmOpenFolder.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK));
mnFile.add(mntmOpenFolder);
JSeparator fileSeparator1 = new JSeparator();
mnFile.add(fileSeparator1);
JMenuItem mntmQuit = new JMenuItem("Quit");
mntmQuit.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
close();
}
});
mntmQuit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
InputEvent.CTRL_MASK));
mnFile.add(mntmQuit);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
pack();
当我在这里时,mntmQuit 按钮没有做任何事情。我调试了它,当我点击它时它甚至没有运行 mouseClicked 事件。我正在使用 java 1.6、WindowBuilder 1.2.0.r37、Eclipse Indigo,如有任何帮助,我们将不胜感激!
最佳答案
我可以回答你一半的问题 - 也许通过澄清我会弄清楚剩下的问题。
您需要将 ActionListener
附加到 JMenuItem
,而不是 MouseListener
。请参阅 Oracle 教程 How to Use Menus一些很好的例子。
关于java - Eclipse WindowBuilder 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8570472/
我刚刚拿到了 JDK 和 Eclipse 经典版,我正在尝试找出用于安装的那个。 eclipse.org 提供的发行版和集成版有什么区别:http://www.eclipse.org/windowbu
是否可以在 WindowBuilder 中创建多行标签? 以下方法失败: 1) JLabel 带有 \n -s 2) 带文本的 JLabel,包装为 和maximuSize设置 3) JTextPan
我正在使用 Google 的 WindowBuilder 在 Eclipse 中为桌面 Java/SWT 应用程序创建 UI。我使用的是 Mac OS X。 我有这个简单的类(为了清楚起见,删除了导入
我正在尝试制作自己的 Java 组件,以便与 eclipse 中的 windowBuilder 一起使用。创建组件是比较容易的部分。问题是让 Eclipse 在创建组件时绘制该组件。我尝试过使用 SW
所以我有这个带有 WindowBuilder 的 Java 项目(带有 JInternalFrames 的 JDesktopPane),现在我要翻译整个程序。每次从 JDesktopPane 菜单打开
我最近开始使用 WindowBuilder for Java 进行编程,但遇到了一个我似乎无法解决的非常烦人的问题。 问题是调试(System.out.println(answer);在第 133 行
我正在使用 windowbuilder 为 Windows 制作一个带有 GUI 的 java 程序。我设置了组件的大小,使其与 3200x1800 的屏幕分辨率匹配。 构建程序后,我在屏幕分辨率为
我正在尝试制作一个全屏应用程序。我想知道如何使我在 JFrame 上添加的组件在每种分辨率下都占据屏幕的一部分。 设计选项卡模式: 当我在全屏上运行时,我得到这个: 如何让下面的界面调整为全屏? 最佳
我正在使用 WindowBuilder (Eclipse Juno 4.2) 为我的项目创建 GUI。在那个 GUI 中我需要使用日期选择器。我在网上搜索了一些日期选择器并找到了一些可以工作的库,但由
我正在 eclipse 的 windowbuilder 上工作一个项目。我的框架是全屏的,所以它不适合 WB 的设计页面。 JScrollPanes 也会出现同样的问题,在 Windowbuilder
我正在尝试使用 WindowsBuilder Pro 来开发 Swing UI。我正在使用 MiGLayout Manager。在设计 View 中开发时,当我创建一个新项目(JLabel、JText
WindowBuilder for Swing 将复选框创建为局部变量,将文本框创建为成员数据。这种不一致让我很烦恼。由于无论如何它们都会链接到顶层 JFrame 中,因此只要 JFrame 具有对它
目前我正在使用一个带有在 WindowBuilder 中设计的窗体的应用程序。该表单包含一个我想在 Clojure/seesaw 中使用的按钮。所以我的问题是:如何在 Clojure 中使用 Java
我有一个简单的 Eclipse Java 项目,它仅包含一个用 Eclipse 的 Window Builder 生成的类(Swing 类)。编码是在我的笔记本上完成的,并保存在云端,因此我可以从家里
我最近在 Eclipse 4.3 (Kepler) 上安装了 windowBuilder 工具。当我尝试在布局设计器上进行一些工作时,我的调色板窗口上不会出现任何组件。只有一些组件,如“布局 ->布局
我在 WindowBuilder for Eclipse 中创建了一个 Java 应用程序。我构建了一个菜单,并在其中一个菜单项上添加了 mouseclicked 事件。 JMenuItem mite
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我正在设计一个大表单,其中 Eclipse WindowBuilder plugin 。该类扩展了 JPanel 并使用 GridBagLayout 作为其 LayoutManager。 现在我的面板
我正在使用 windowbuilder 为我的应用程序构建 GUI。我已经为我的 GUI 创建了一个基于 SWT 的 shell 布局。我在 GUI 中有一个文本框。当用作 GUI 时,我想从文本框中
我正在尝试使用 3 行 3 列的 formlayout。中间的盒子设置为固定的宽度和固定的高度,其他盒子会增长。我认为这将使我的图像保持在中心,并且不会随着用户扩展框架而增长。 这是我正在做的事情,但
我是一名优秀的程序员,十分优秀!