Tag: layout

哪种布局可以做到这一点?

我正在尝试在我的应用程序中布局一些JLabel,如下例所示: 我总是把这个JLabel放在中间,其他JLabel的数量是可变的,它可以从1到30.我通过选择大量的列/行并在白色空间中设置一些空的JLabel来尝试网格布局但是我无法获得良好的结果,并且无法找到如何使用MigLayout ,任何人都有一个良好的布局解决方案或任何其他解决方案。 PS :我不想展示圆圈,只是为了表明JLabel排成一个圆圈。

JPanel的宽度和高度为0(具体情况)

如果这很难理解,请原谅我,但我有一个特定的问题,我需要帮助解决。 我已经做了大量的研究,我尝试了很多解决方案,但没有一个是有效的。 我的问题是我有一个扩展JPanel的ImagePanel类(下面的代码),这个类需要使用宽度和高度来缩放图像(我正在创建一个程序,用户可以创建自定义教程,包括图像)。 当我实例化这个时,我得到一个错误,说宽度和高度必须非零。 我知道这是因为布局管理器尚未将ImagePanel传递给首选大小,但我不知道如何将该大小传递给面板。 ImagePanel位于JPanel内部,该JTabbedPane内部位于JFrame内部JSplitPane内部的JTabbedPane内部的JPanel内部的JScrollPane内部的JSplitPane内部。 递减容器顺序的图形表示如下: JFrame(GridLayout) JSplitPane(默认SplitPane布局) JTabbedPane(Deault JTabbedPane布局) JPanel(GridLayout) JScrollPane(默认ScrollPane布局) JSplitPane(默认SplitPane布局) JPanel(GridLayout); ImagePanel ImagePanel的代码如下: import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JPanel; public class ImagePanel extends JPanel{ private BufferedImage i; private ImageIcon miniature; private Image paint = null; public void createImage(String path){ try { […]

当JPanel消失时,可resize的布局摆动

我有很多jPanel(panelF)添加到其他jPanel(panelB)。 jPanelF包含jPanelC。 我已设置布局以添加它们如下: PanelB.setLayout(new BoxLayout(this.PanelB, BoxLayout.PAGE_AXIS)); PanelF panelF1 = new PanelF(); PanelB.add(panelF1); PanelF panelF2 = new PanelF(); PanelB.add(panelF2); 我在jPanelC1中设置了可见的false。 但是JPanelF2保留了距离而不想制作那个空白区域 我想要的是在消失JPanelC1时。 jPanelF之间保持距离而不是空白区域。 我尝试了validate()并更改了布局但是我失败了。 会是什么样的? 非常感谢你。 对不起我的英语不好 知道是否有类似$(“#panelC1”)的内容.fadeOut(“slow”)? 会是理想的。

我们如何自动调整SWT中组件的大小?

在我的SWT应用程序中,我在SWT shell中有一些组件。 现在,我如何根据显示窗口的大小自动重新调整此组件的大小。 Display display = new Display(); Shell shell = new Shell(display); Group outerGroup,lowerGroup; Text text; public test1() { GridLayout gridLayout = new GridLayout(); gridLayout.numColumns=1; shell.setLayout(gridLayout); outerGroup = new Group(shell, SWT.NONE); GridData data = new GridData(1000,400); data.verticalSpan = 2; outerGroup.setLayoutData(data); gridLayout = new GridLayout(); gridLayout.numColumns=2; gridLayout.makeColumnsEqualWidth=true; outerGroup.setLayout(gridLayout); … } 即,当我减小窗口的大小时,它内部的组件应该根据它出现。

将JLabel放置在JPanel上的特定x,y坐标上

我正在尝试在JPanel上的特定X和Y坐标处放置一系列JLabel(并设置其高度和宽度)。 无论我做什么,每个标签都会立即卷到前一个标签的右侧,并且与所有其他标签的尺寸完全相同。 现在,我的Jpanel处于网格布局中。 我尝试过Absolute Layout(非法参数exception结果),Free Design(没有标签出现),Flow Layout(一切都被挤到中心),以及其他一些。 不知道我需要做些什么来使这项工作。 有人可以帮忙吗? 谢谢! JLabel lbl1 = new JLabel(“label 1”); JLabel lbl2 = new JLabel(“label 2”); JLabel lbl3 = new JLabel(“label 3”); JLabel lbl4 = new JLabel(“label 4”); JLabel lbl5 = new JLabel(“label 5”); myPanel.add(lbl1); myPanel.add(lbl2); myPanel.add(lbl3); myPanel.add(lbl4); myPanel.add(lbl5); lbl1.setLocation(27, 20); lbl2.setLocation(123, 20); lbl3.setLocation(273, 20); lbl4.setLocation(363, 20); lbl5.setLocation(453, 20); […]

GridBagLayout不起作用

this.rootComponent.setLayout(new GridBagLayout()); GridBagConstraints gbc=new GridBagConstraints(); //gbc.gridwidth=2; gbc.gridx=0; gbc.gridy=0; gbc.gridwidth=8; gbc.anchor=GridBagConstraints.FIRST_LINE_START; this.rootComponent.add(new JLabel(“Test label 1”),gbc); gbc.gridx=8; gbc.gridy=12; gbc.gridwidth=GridBagConstraints.REMAINDER; gbc.anchor=GridBagConstraints.FIRST_LINE_START; this.rootComponent.add(new JLabel(“Test label”),gbc); 想要像这样格式化。 灰色部分显示jpanel部分。 最初我想正确布局前2个jpanel。 这是行不通的。 怎么解决?

iText5中的标题重叠

我使用PdfPTables为我的PDF文档创建了页眉和页脚。 我已经在我的PdfPageEventHelper的onStartPage和onEndPage事件中分别指定了页眉和页脚。 我面临的问题是在我的文档中添加一个段落。 当我创建一个新段落时,如下所示: Paragraph content = new Paragraph(“This is a test text”); try{ pdfDocument.add(content); } catch (DocumentException e){ e.printStackTrace(); } 内容与标题重叠。 我需要的是在页眉和页脚之间设置pargraph。 有人可以告诉我,为了将pargraph放在页眉和页脚之间而不是在它们之间,我需要做些什么。 谢谢

BoxLayout忽略setYAlighment

这是一个function: /** * Creates an instance of a JLabel with the given arguments * @param text The text to be displayed on the Label * @param font The font of the label * @param bold set to true if you want the label’s text to be bold * @param fontSize The size of the font […]

如何在Java中锁定gridLayout的宽高比?

在Java Swing中是否有一种简单的方法来锁定GridLayout组件的宽高比? 或者应该在包含该布局的JPanel上完成?

使用Swing组件作为内容的自定义Java工具提示不会显示

我试图在组件的工具提示中显示多个图像,找到createToolTip()并实现一个自定义,添加如下所需的组件: setComponent(component); JPanel images = new JPanel(null); images.setLayout(new BoxLayout(images, BoxLayout.X_AXIS)); for(ImageIcon icon:myIcons) { images.add(new JLabel(icon)); } JPanel content = new JPanel(new BorderLayout()); content.add(new JLabel(title), BorderLayout.NORTH); content.add(new JLabel(description)); content.add(images, BorderLayout.SOUTH); add(content); 但是,我看到的只是一个小点,表示工具提示已显示,但不知何故,大小被忽略。 我错过了实施自定义工具提示的内容?