草庐IT

java - JPanels 不会完全拉伸(stretch)以占据可用空间

我有一个面板,我在其中并排放置了几个尺寸和颜色不同的迷你面板,它们应该占据整个父面板(​​水平)。为此,我使用BorderLayout(用于父面板),并使用BoxLayout用于放置所有迷你面板的子面板(参见下面的代码)。它确实可以正常工作并且在调整大小和一切时都能正常运行。然而,随着迷你面板数量的增加,一个奇怪的行为发生了:父面板的末尾出现了空白。我想我发现这是布局管理器中的一个拉伸(stretch)错误,因为为了拉伸(stretch)面板,布局管理器会尝试向每个迷你面板添加一个像素。但是,当mini-panel的数量很大时,为每个mini-panel添加一个像素将导致添加许多像素并

Java:如何将 JMenu 添加到 JPanel 或创建下拉按钮?

有什么方法可以将JMenuItem添加到JPanel,以便我可以创建一个按钮来显示多个选项,例如地址栏下方的firefox中的最新新闻按钮?我只能将JMenu和JMenuItems添加到JMenuBar、JPopupMenu和其他JMenus和JMenuitems有什么方法可以在JavaSwing中创建下拉Jbutton?(左边有向下箭头的那些向用户显示更多选项)提前致谢 最佳答案 最后,我用一个简单的Jutton和一个带有显示选项的JPopupPane实现了“显示选项按钮”:在按钮的ActionPerformedListener中

java - 将最小化/最大化按钮添加到 JDialog 或 JPanel

是否可以向JDialog添加最大化/最小化按钮?如果没有那么我们可以将这些按钮添加到JPanel吗?我有一个JPanel,该面板内有一个JDialog。我想添加一个最小化/最大化按钮,以便在单击该按钮时JDialog和JDialog下的组件根据JPanel进行调整。就像当我单击最大化时,jpanel应该被放大并且该面板(JDialog)内的组件也会被放大,反之亦然对于最小化按钮。我从这里得到的解决方案是针对JFrame内的JPanel。但是我的JPanel只是独立的。 最佳答案 Isitpossibletoaddmaximize/m

java - 如何使 JFrame 背景和 JPanel 透明,只显示图像

嘿,我正在尝试制作某种启动器,“窗口”必须是透明的,因为如果您理解我的意思,我希望我使用的图像是它的设计。我尝试执行setUndecorated(true);和setBackground(newColor(0,0,0,0));但它看起来很奇怪。这是它的外观图片:http://prntscr.com/2pqohq这是我的代码:importjava.awt.Color;importjava.awt.Dimension;importjava.awt.Graphics;importjava.awt.GridBagLayout;importjava.awt.image.BufferedImage

java - JPanel重绘问题

我有一个JFrame,它在BorderLayout中包含2个JPanel子类和2个JLabel。其中一个JPanel包含JButton,另一个用于显示图形。JLabel位于南北,按钮JPanel位于西边,显示JPanel位于中间。显示JPanel需要不断刷新,所以我通过Swing计时器生成的Action事件调用它的repaint()方法。我还覆盖了它的paintComponent()方法来绘制。不是显示我绘制的内容,而是将“JFrame的内容”绘制到显示JPanel上。我知道我可以在绘制之前使用g.fillRect()或super.paintComponent()简单地“清除”显示JP

java - 搜索文本文件并在 JPanel 中显示结果

有没有人知道如何搜索文本文件并在JComponent(如JPanel)中列出结果。两天来我一直在努力解决这个问题,但如果没有成功,我将不胜感激。非常感谢。我一直在尝试编写一个类来处理对文本文件的搜索查询。我的主要目标是获取包含在JTextField中输入的搜索关键字的文本文件中的行,并将它们打印在适当的JComponent(类似于JTextField、JTextPane,以最适用的为准)中。我希望搜索结果显示在列中,就像google搜索结果的显示方式一样,以便文本文件中的每一行都打印在自己的行中。有人告诉我最好使用ArrayList。我真的不知道该怎么做。我从各地收集了一些想法,这就是

java - JPanel 对 KeyBindings 没有反应

我正在开发一个需要JPanel对按下的转义键使用react的应用程序。我很确定我使用了正确的方法将键绑定(bind)注册到组件,但显然我仍然做错了。这是负责注册结束响应所述键绑定(bind)的代码:privatevoidinitializeKeyBindings(){Actiona=newAbstractAction(){privatestaticfinallongserialVersionUID=1L;@OverridepublicvoidactionPerformed(ActionEvente){menu.setVisible(true);System.out.println("H

java - 如何用另一个 JPanel 替换 JPanel

我想用JFrame中的另一个替换Jpanel我已经搜索并尝试了我的代码,但没有任何反应这是我的代码:publicclassFrameextendsJFrame{privateContainercontain;privateJPanelreChange,reChange2;privateJButtonreChangeButton;publicFrame(){super("Changeapanel");setSize(350,350);setLayout(null);setLocationRelativeTo(null);setResizable(false);reChange=newJP

java - 使用动画调整 jPanels 的大小

我正在开发一个带有全屏面板的应用程序,有时我需要在屏幕右侧显示第二个面板。为了开发它,我使用AbsoluteLayout(来自NetBeans)制作了一个包含另外两个面板的jPanel。我计算每个面板相对于屏幕分辨率的位置和大小。基本上,我有两个“状态”。首先,jPanel1的宽度=100%,而jPanel2的宽度=0%(所以我没有显示此面板)。第二种状态,当jPanel1的宽度=75%并且jPanel2的宽度=25%时。为了进行这些转换,我只重新计算每个面板的大小并且效果很好,但我希望使用单个动画来完成。随着jPanel2“滑入”屏幕。下图解释一下:Linktoimage我尝试了一些

java - 如何让 FlowLayout 像其他组件一样在底部对齐 JPanel?

我有一个案例,我将JPanel添加到FlowLayout,但它们没有将自己对齐到布局的底部。我正在使用此layout.setAlignOnBaseline(true)并将JLabel正确对齐到面板底部。但是,一旦这些标签本身包裹在面板中,它就不再有效了。这是我的意思的示例,顶部和底部有两个面板。importjavax.swing.*;importjava.awt.*;publicclassBadLayout{privatestaticfinalFontfont1=newFont("Arial",Font.BOLD,14);privatestaticfinalFontfont2=newF