草庐IT

java - 如何动态添加 JLabels 到 JPanel?

我遇到了这个问题。我有一个JPanel,通常我会像这样创建一个JLabel:JLabellblNewLabel=newJLabel("Newlabel");lblNewLabel.setBounds(0,0,135,14);panel.add(lblNewLabel);但我希望每次单击一个按钮时,在该面板中创建一个具有相同大小但具有不同高度位置的新JLabel。我试过:panel.add(newJLabel(stringName));但这样我就无法设置它的界限。我从JTextField获得的stringName。 最佳答案 首先,使

java - 如何在 JPanel 上绘制 SimpleWeightedGraph?

我有一个SimpleWeightedGraph,我想在JFrame的JPanel上绘制它。不幸的是什么都没有画。我读了thisarticle.他们使用的是ListenableDirectedGraph,所以我尝试了ListenableUndirectedGraph但没有成功。publicclassDisplayGraphFormextendsjavax.swing.JFrame{publicDisplayGraphForm(SimpleWeightedGraphg){initComponents();//graphPaneladdedtoJFramewithBorderLayout(C

java - 更新子 JPanel 中的组件时如何在父 JPanel 中触发操作 (Java Swing)

我正在尝试用JavaSwing构建一个MVC应用程序。我有一个包含四个JComboBox的JPanel,这个JPanel嵌入到父JPanel中。除了子JPanel之外,父JPanel还有其他控件。每当我更改JComboBoxes的值时,子JPanel的模型都会得到正确更新(它基本上是一个日期选择器,每个组合框分别代表年、月、日和时)。我想不通的是,每当其中一个JComboBox发生更改时,我如何触发父JPanel的模型更新自身以匹配存储在子JPanel模型中的值。下面是我目前拥有的结构的精简SSCCE。谢谢。importjava.awt.event.*;importjavax.swin

java - 在现有 JPanel 中显示 pdf 的基本代码?

我有一个现有界面,其中包含用于显示pdf文件的JPanel。重要的是在此界面中显示pdf而不是打开新窗口。如果可能,如何在不使用不必要的代码(库)的情况下在JPanel上显示pdf? 最佳答案 如果您想呈现PDF内容并忽略原始格式(粗体、字体大小等),您可以使用任何PDF解析器(PDFBox、Tika等)解析PDF,然后将字符串结果设置为任何文本组件(JTextFiled或JTextArea)。否则你应该使用PDF渲染库。有一些商业图书馆。但是我在上一个项目中使用了一个小技巧来在我自己的面板中显示PDF,如下所示:想法是在您的应用程

java - JPanel渐变背景

我用谷歌搜索但没有找到正确答案。我有一个JPanel,我希望它有一个从上到下的渐变。我只想使用两种颜色。我怎样才能做到这一点? 最佳答案 给你:importjava.awt.Color;importjava.awt.GradientPaint;importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.RenderingHints;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing

java - 将 JPanel 转换为 JScrollPane 中的图像

我想将JPanel转换为图像。我使用了以下方法:publicBufferedImagecreateImage(){intw=getWidth();inth=getHeight();BufferedImagebi=newBufferedImage(w,h,BufferedImage.TYPE_INT_RGB);Graphics2Dg=bi.createGraphics();paint(g);returnbi;}但问题是JPanel包含在JScrollPane中。因此,当我将jpanel转换为图像时,图像仅包含jpanel中可见的部分,而隐藏在滚动Pane内的部分不包含在图像中。是否有任何

Java Netbeans 覆盖 JPanel 中的 paint() 方法

大家好,我是新手程序员我想使用NetbeansIDE开发Java程序的GUI使用NetbeansGUI生成器,首先,我创建一个新的JFrame窗体然后,我从工具栏/调色板添加一个JPanel问题是,如何覆盖新创建的JPanel的paint()函数?我想在JPanel中绘制一个背景和一些球体,我尝试使用getGraphics()函数进行绘制,它完成了工作,但是当我调用repaint()时它不再绘制了我是否应该创建一个新类来实现JPanel或JComponent,而不是使用我自定义的paint()函数?(如果是这样,我该如何使用NetbeansGUIBuilder来实现?)类似问题:how

Java - 控制JPanels的Z顺序

简而言之,我的需求是在我的java应用程序中有一个背景图像,并且在某些情况下,在该图像之上创建一些其他图形。我想我会使用JPanel来绘制背景图像,在程序开始时将其添加到我的JFrame,然后在发生某些事件时在其之上添加其他JPanel。问题是Swing为首先添加的JPanel提供了最高的Z索引,所以我的背景应该显示在所有内容之上。有什么方法可以控制JPanel的Z索引/顺序,还是我这样做完全错了? 最佳答案 您可以使用setComponentZOrder()来处理应用程序中的Z顺序。资源:JavaDoc-Container.set

java - 带有 GridLayout JFrame 的 JPanels 中的 JButtons

我有一个设置为NxN大小的GridLayout的JFrame。N由用户在程序开始时作为命令行给出。NxN模式中的JButton被添加到JPanel中的窗口,由GridLayout设置位置(我认为)。是否每个JButton都需要自己的JPanel才能使用GridLayout?我的印象是您可以只为所有按钮设置一个JPanel,并将JPanel设置为JButton的GridLayout。我想在按钮数组的左侧添加另一个JPanel以显示按钮点击(JLabel)和同一个左侧JPanel中的重置按钮。这是我的(一小部分)代码,其中N由用户提供,system是我的后台进程类,ButtonEvent是

java - 为什么在 JFrame 上绘图比在 JPanel 上绘图慢得多?

我的问题是,为什么相同的swing-custom-painting例程在JPanel上绘制比直接在JFrame上绘制快近16倍?它只是双缓冲吗?不可能吧?背景:当JFrame未被遮挡(特别是仅被部分遮挡)时,我遇到了自定义绘画未刷新的问题。在搜索SO之后,我决定硬着头皮想办法将JPanel的子类连接到bluddy-NetBeans-form-designer表单中。对于处于相同情况的任何人:在NetBeans中,您需要创建一个新的标准类(不是JPanel表单),它恰好扩展了JPanel,并手动编写其中的所有内容(没有GUI设计器,就像good-ole-天,叹息)。然后你添加一个标准的J