- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 WindowBuilder Pro 设计了一个表单,部分生成代码为:
JPanel panel = new JPanel();
我正在尝试使用 paint 方法制作自己的 JPanel:
private class DisplayPanel extends JPanel {
public DisplayPanel() {
// TODO Auto-generated constructor stub
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
//Paint the graph. Note that x is to the right, y is down.
g.setColor(Color.black);
g.drawRect(0,0,this.getWidth()-1,this.getHeight()-1);
}
@Override
public boolean mouseDrag(Event evt, int x, int y) {
System.out.println(x+", "+y);
return false;
}
}
不幸的是,将构造函数更改为:
JPanel panel = new DisplayPanel();
切换到设计 View 时导致错误:
WindowBuilder encountered unexpected internal error.
This could be caused by a WindowBuilder bug or by a misconfiguration issue, conflict, partial update, etc.
java.lang.NullPointerException: Argument must not be null
Stack trace:
java.lang.NullPointerException: Argument must not be null
at javax.swing.Spring.checkArg(Spring.java:671)
at javax.swing.Spring.width(Spring.java:640)
at javax.swing.SpringLayout.applyDefaults(SpringLayout.java:1074)
at javax.swing.SpringLayout.putConstraints(SpringLayout.java:1105)
at javax.swing.SpringLayout.getConstraints(SpringLayout.java:1140)
at javax.swing.SpringLayout$SpringProxy.getConstraint(SpringLayout.java:829)
at javax.swing.SpringLayout$SpringProxy.isCyclic(SpringLayout.java:853)
at javax.swing.SpringLayout.isCyclic(SpringLayout.java:907)
at javax.swing.Spring$CompoundSpring.isCyclic(Spring.java:460)
at javax.swing.SpringLayout.isCyclic(SpringLayout.java:907)
at javax.swing.SpringLayout.abandonCycles(SpringLayout.java:919)
at javax.swing.SpringLayout.layoutContainer(SpringLayout.java:1209)
at java.awt.Container.layout(Container.java:1421)
at java.awt.Container.doLayout(Container.java:1410)
at java.awt.Container.validateTree(Container.java:1507)
at java.awt.Container.validateTree(Container.java:1513)
at java.awt.Container.validateTree(Container.java:1513)
at java.awt.Container.validateTree(Container.java:1513)
at java.awt.Container.validate(Container.java:1480)
at org.eclipse.wb.internal.swing.model.component.top.WindowTopBoundsSupport.apply(WindowTopBoundsSupport.java:67)
at org.eclipse.wb.core.model.AbstractComponentInfo.refresh_afterCreate(AbstractComponentInfo.java:241)
at org.eclipse.wb.core.model.ObjectInfo.refreshCreate0(ObjectInfo.java:535)
at org.eclipse.wb.core.model.ObjectInfo.access$0(ObjectInfo.java:529)
at org.eclipse.wb.core.model.ObjectInfo$5$1.run(ObjectInfo.java:486)
at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runDesignTime(ExecutionUtils.java:139)
at org.eclipse.wb.core.model.ObjectInfo$5.run(ObjectInfo.java:484)
at org.eclipse.wb.internal.swing.utils.SwingUtils$2.run(SwingUtils.java:76)
at org.eclipse.wb.internal.swing.utils.SwingUtils.invokeLaterAndWait(SwingUtils.java:180)
at org.eclipse.wb.internal.swing.utils.SwingUtils.runLaterAndWait(SwingUtils.java:73)
at org.eclipse.wb.internal.swing.model.component.ComponentInfo.doRefresh(ComponentInfo.java:118)
at org.eclipse.wb.core.model.ObjectInfo.refresh(ObjectInfo.java:482)
at org.eclipse.wb.internal.core.editor.DesignPage.internal_refreshGEF(DesignPage.java:559)
at org.eclipse.wb.internal.core.editor.DesignPage.access$9(DesignPage.java:501)
at org.eclipse.wb.internal.core.editor.DesignPage$8$1.run(DesignPage.java:434)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:179)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4113)
at org.eclipse.wb.internal.core.editor.DesignPage$8.run(DesignPage.java:431)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
at org.eclipse.wb.internal.core.editor.DesignPage.internal_refreshGEF_withProgress(DesignPage.java:450)
at org.eclipse.wb.internal.core.editor.DesignPage.internal_refreshGEF(DesignPage.java:400)
at org.eclipse.wb.internal.core.editor.UndoManager.refreshDesignerEditor(UndoManager.java:381)
at org.eclipse.wb.internal.core.editor.UndoManager.activate(UndoManager.java:90)
at org.eclipse.wb.internal.core.editor.DesignPage.handleActiveState_True(DesignPage.java:248)
at org.eclipse.wb.internal.core.editor.DesignPage.handleActiveState(DesignPage.java:226)
at org.eclipse.wb.internal.core.editor.multi.DefaultMultiMode.showPage(DefaultMultiMode.java:125)
at org.eclipse.wb.internal.core.editor.multi.DefaultMultiMode$1.widgetSelected(DefaultMultiMode.java:63)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1176)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1200)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1185)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1025)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3256)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2045)
at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:323)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1176)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3493)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3112)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
这是一个错误吗?还是有其他方法可以做到这一点?
我尝试在 gui 设计器中设置子类,右键单击 Morph-subclass,但是当我选择 DisplayPanel 时出现错误:
new DisplayPanel((Mainwin) null) is not valid source for component creation, it references not existing constructor.
最佳答案
我将 DisplayPanel 从窗口类中的私有(private)类移到了单独的类中。这消除了错误。
关于java - 使用 WindowBuilder 的自定义 JPanel 导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7850954/
我刚刚拿到了 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。中间的盒子设置为固定的宽度和固定的高度,其他盒子会增长。我认为这将使我的图像保持在中心,并且不会随着用户扩展框架而增长。 这是我正在做的事情,但
我是一名优秀的程序员,十分优秀!