草庐IT

java - Guice 无法实例化扩展 JPanel 的类 - NPE 调用 super 构造函数

我们有一个带有GoogleGuice4.1.0依赖项注入(inject)的桌面Swing应用程序。开发期间一切正常,但当同事尝试运行该应用程序时发生了一些奇怪的事情。我们有一个扩展JPanel的MainWindow类。在构造函数中,此类采用一些本身可注入(inject)的Controller。在main方法中创建了Guice注入(inject)器。然后注入(inject)器尝试实例化MainWindow(injector.getInstance(MainWindow.class))。它因NullPointerException而失败!这不会发生在我的电脑上,我们使用相同的JDK。这里是

java - 出现滚动条时包含 JPanel 的 JScrollPane 调整大小

在我的Java应用程序中使用JScrollPane时遇到一个小问题。我有一个包含JPanel的JScrollPane。此JPanel使用任意宽度的按钮(垂直排序)动态更新。JPanel自动将其宽度调整为内部最大的JButton组件。现在,当垂直滚动条出现时,它会占用我的JPanel右侧的一些空间,这会导致最大的按钮无法完全显示。除了显示整个按钮之外,我不想使用水平滚动条。有没有一种方法可以在出现滚动条时调整我的JPanel的大小,使其很好地显示在我的按钮旁边?或者是否有任何其他方法可以让滚动条出现在我的JPanel旁边?提前致谢!编辑:这是我的问题的演示。当您将窗口调整到较小的高度时,

java - JPanel里面的另一个

我在另一个JPanel中遇到问题。我不知道为什么,结果是一个简单的正方形,但尺寸不正确。这是为什么?importjava.awt.Color;importjava.awt.Container;importjavax.swing.JFrame;importjavax.swing.JPanel;publicclassjjextendsJFrame{privateJPanelpainel3;privateJPanelpainel5;privateContainercontainer;publicjj(){container=getContentPane();container.setLayo

java - Keylistener 不适用于 JPanel

当使用我的JPanel类中的KeyListener按下其中一个箭头键时,我正在尝试做一些事情。这是我的代码:publicclassTestPanelextendsJPanelimplementsKeyListener{publicTestPanel(){this.addKeyListener(this);this.setFocusable(true);this.requestFocusInWindow();}publicvoidkeyPressed(KeyEvente){if(e.getKeyCode()==KeyEvent.VK_RIGHT){System.out.println("

java - 如何在绘制 JPanel 后重新绘制它?

我有一个继承自JPanel的组件,我在其上绘制了一个网格。现在我有一个JComboBox,我希望用户能够在这里选择网格大小,然后按下一个按钮来更改网格(重新绘制网格)。问题是它绘制了初始网格,但是一旦用户从JComboBox中选择了网格大小并单击了按钮,就没有任何反应。我必须最小化表单,然后再次恢复它以查看更改。有什么想法吗?代码如下。组件:publicclassBoardextendsJPanel{...protectedvoidpaintComponent(Graphicsog){super.paintComponent(og);...}}}主类publicclassMainext

java - 自动聚焦于 jpanel 上的 jButton

我在JFrame上加载了一个JPanel。JPanel包含4个JButton。我想要做的是自动将焦点放在第一个jbutton上,这样我就可以使用键盘在JButton之间移动。我在jpanel的构造函数中尝试了jButton1.requestFocusInWindow();代码,但仍然无法正常工作。有什么我想念的吗?我还能做什么?编辑:工程包含3个java文件,代码如下:新JFrame.java/**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*/packagesampleui;impo

java - JScrollPane 内 JPanel 上的 JTextArea 无法正确调整大小

我想实现以下目标:+------------------Othercontainer(s)-----------------+|+------JScrollPane(vertical)-------+|||JTextField||||Box.createRigidArea(vertical)||||JTextArea||||{etc..anyotherJ-component}|||||||||||||||||||+-----------------------------------+|+-------------------------------------------------

java - 如何将 JPanel 嵌入到 JavaFX Pane 中?

如何将swingNode添加到特定的Pane?我实际上是在尝试添加一个JPanel来加载一个applet到下面的透明区域,但我不确定该怎么做。 最佳答案 SwingNode是javafxscenenode并且可以添加到任何javafxscenelayouts.将JPanel添加到Pane并将其显示在JavaFX舞台上:将JPanel添加到SwingNode将swingnode作为子节点分配给任何布局(包括Pane)。将布局设置为场景的根将场景布景并展示展示如何将其添加到Pane的一个非常简单的代码示例是(来自SwingNodeJav

java - JPanel 的 addMouseListener

今天有个问题..我的程序制作了一个8x8网格并在我单击JButton时显示坐标。但我拒绝使用JButton,我需要使用JPanel..但是我的addMouseListener不工作所以我不不知道如何解决我从4小时开始搜索的问题......packagecoordboutons;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassCoordBoutonsextendsJFrame{CoordBoutons(){super("GridLayout");setDefaultCloseOperation(

Java JPanel 两个边框,不同的颜色?

对于我的布局,我想要双边框,在我的JPanel底部,一个应该稍暗,另一个应该稍微亮一些。目前我有1个边框:JPanelpnlTop=newJPanel(newBorderLayout()){protectedvoidpaintComponent(Graphicsgrphcs){super.paintComponent(grphcs);Graphics2Dg2d=(Graphics2D)grphcs;g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);Gradien