所以我有这个JButtons,我向其添加了图标。图标最初太大,所以我事先调整了它们的大小,效果很好。除了当我调整窗口大小时,JButton会改变大小,但图标不会改变,这是有问题的。有没有办法让Icon只填充它所附加的JButton?一些代码使其更清晰:publicJewelClass(){setBackground(newColor(30,30,30));addActionListener(this);setLayout(newGridLayout());ImageIconicon=newImageIcon(src/carre.jpg);setIcon(resizeIcon(icon,
当主JFrame调整大小时,我需要找到组件的确切屏幕大小(以像素为单位)。我已经尝试了几种方法,但找不到一种简单的方法来做到这一点:它可能遗漏了一些明显的东西。BBBBBJFRAMEBORDERBBBBZZZZZZZZZZZZZZZZZZZZZBBAAAAAAAAAAAAAAAAAAAAABBCC1................DDBBCCC................DDBBCCC................DDBBCCC................DDBBCCC................2DBBEEEEEEEEEEEEEEEEEEEEEBBBBBBBBBBBBB
对于这个有点不清楚的问题表示歉意-想不出更好的表达方式。我使用JXTaskPane(来自Swing实验室扩展API)以显示一些信息。用户可以“点击”标题来展开面板。JXTaskPane位于容器JPanel中,然后将其添加到JFrame,即我的主应用程序窗口。我希望我的应用程序窗口调整为展开的任务Pane的大小。为实现这一点,我向我的容器JPanel添加了一个组件监听器,它将大小设置为现在展开的面板。panel.addComponentListener(newComponentListener(){publicvoidcomponentResized(ComponentEvente){D
我有一个JFrame,它的根JPanel是用GridBagLayout实例化的。在运行时,面板根据一些描述填充组件,宽度、高度和x、y坐标在描述中给出,以与gridwidth、gridheight、gridx和gridy字段在GridBagConstraints中。组件本身也可以是具有自己的子组件和GridBagConstraints的JPanel,GUI在树中描述,因此递归填充Frame。我遇到的问题是,当调整框架大小时,内部组件不会拉伸(stretch)以填充其给定的宽度和高度。我在下面给出了一个布局代码示例,并附有屏幕截图。importjavax.swing.*;importja
由于某些原因,使用ImageBuffer和ImageIO打开一些PNG文件不起作用。这是我正在使用的一些代码,可以很好地调整/裁剪JPG:BufferedImageimage=ImageIO.read(newFile(location));BufferedImagecroppedImage=image.getSubimage(cropInfo.getX(),cropInfo.getY(),cropInfo.getW(),cropInfo.getH());BufferedImageresizedImage=newBufferedImage(TARGET_WIDTH,TARGET_HEIG
这是我的代码,它确实有效,虽然不完美但确实有效,问题是调整大小的缩略图没有粘贴到白色绘制的矩形上,破坏了图像的纵横比,这是代码,有人可以建议帮我解决一下好吗?谢谢importjava.awt.Color;importjava.awt.Graphics2D;importjava.awt.Image;importjava.awt.RenderingHints;importjava.awt.geom.Rectangle2D;importjava.awt.image.BufferedImage;importjava.io.BufferedInputStream;importjava.io.By
我有两个文件。一个扩展JFrame,另一个扩展JPanel。每当我更改框架的大小时,无论是最大化、拖动还是其他,我都希望ScrollPane适合框架的当前大小。还有更多内容,还有一个顶部菜单栏和一个底部栏,但为了简单起见,我将它们排除在外。基本上,我希望它像记事本一样工作。现在,我在调用另一个类中的setSize方法的框架上使用ComponentListener。setSize方法只是:publicvoidresize(intx,inty){textA.setPreferredSize(newDimension(x,y-50));areaScrollPane.setPreferredS
我想自定义我的标题栏、最小化、最大化和关闭按钮。所以我在JFrame上使用了setUndecorated(true);,但我仍然希望能够调整窗口大小。实现它的最佳方法是什么?我在RootPane上有一个边框,我可以在边框或RootPane上使用MouseListeners。有什么建议吗?importjava.awt.Color;importjavax.swing.JFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.border.Li
我正在使用GroupLayout来管理一些动态生成的数据输入表单中的组件。布局大致如下:*-----------------------------------------------*|labelA|fieldA||labelB|fieldB||labelC|fieldC|*-----------------------------------------------*我为水平布局使用了2个平行组,为垂直布局使用了一个顺序组。在大多数情况下,一切都运行良好。我想将标签(它们只是JLabel的实例)的最大宽度限制为父级JFrame宽度的1/3。如果JFrame是固定大小,这将是微不足道
在我的SWT应用程序中,我在SWT外壳中有某些组件。现在我如何根据显示窗口的大小自动调整这些组件的大小。Displaydisplay=newDisplay();Shellshell=newShell(display);GroupouterGroup,lowerGroup;Texttext;publictest1(){GridLayoutgridLayout=newGridLayout();gridLayout.numColumns=1;shell.setLayout(gridLayout);outerGroup=newGroup(shell,SWT.NONE);GridDatadata