【Java Swing – 将透明度应用于透明JPanel上的组件】教程文章相关的互联网学习教程文章

如何使Java JPanel和graphics2d透明?【代码】

标题很容易解释.我想使用Java构建两个面板,每个面板彼此层叠.我希望顶层包含一个JPanel,它将包含一个graphics2d对象.我希望JPanel和graphics2d具有透明的背景(我仍然希望graphics2d绘制的内容可见).有谁知道如何做到这一点?解决方法:在JPanel上调用setOpaque(false)-这不会绘制JPanel的背景. 取决于您要使用哪种方法来获取Graphics2D(JPanel不包含像组件一样的Graphics2D对象-使用Graphics2D对象绘制JPanel)-如果它是paintCompone...

java-单击按钮后将对象添加到JPanel【代码】

我创建了一个内部带有JPanel的JScrollPane,我想在按下按钮后添加JPanel / JLabel / Other对象.例如,在按下三个按钮后,我想要得到类似以下内容: 我尝试用testlabel.setBounds()尝试myJPane.add(testLabel),但是没有结果,由于大小不变,我不想使用GridLayout.如果添加的对象具有不同的大小,请调整文本内容. 我应该用它做什么? 提前致谢.最好的祝福,汤姆.解决方法:这是一个JScrollPane内的JPanel,它在按下按钮时向其添加JLabel:pu...

java-出于玻璃窗格的目的,为什么Swing中的输入元素似乎不被视为JPanel的一部分?【代码】

输入元素是指JSpinners和JComboxBoxes之类的东西.我的玻璃窗格通过了一个包含JSpinners,JComboBoxes和大多数情况下的JLabels的JPanel.玻璃窗格上附加了MouseListener.令人惊讶的是,在鼠标光标离开输入元素并悬停在JPanel的其他部分或空白上时会调用mouseEntered!这是正常行为吗?出于Glasspane的目的,如何将输入元素视为JPanel的一部分? 这是我的UI的屏幕截图,其中包含输入元素和jLabel. 这是一段示例代码:import javax.swing.*...

java-是否有更好的方法来设置JPanel图形的初始位置?)【代码】

在Liang的Java编程简介(第7版)的第15章中,他介绍了一个程序,该程序可以在JPanel上制作一个(2-D)球,并在单击“放大/缩小”按钮时对其进行放大.我已经修改了程序,使其也可以:1)如果用户单击/选项单击,则放大/缩小球; 2)允许您通过按按钮选择球的颜色; 3)??允许移动圆用鼠标拖动它. 最后的修改是给我一段时间带来麻烦的,因为我想在开始时将球居中,但随后允许用户用鼠标来移动球.我想出的解决方案是让paintComponent方法仅在第一次绘...

java-在AWT组件上添加透明的JPanel进行绘制

我遇到一个问题:在我的Java应用程序中,我有一个AWT组件(无法更改该组件),该组件可以流式传输并显示一个avi文件.现在,我想借鉴这部电影,并考虑将透明的JPanel放在其上并在其上进行绘制. 这是行不通的,因为我看不到视频流或画线,但不能同时看到两者. 我在某处读到AWT不支持组件的透明性-但是该面板是能够做到这一点的JPanel. 有人可以帮我这个吗-预先感谢.解决方法:Mixing Light and Heavyweight Components文章解释了如何仅在最新版...

java-从JPanel(不带JFrame)创建BufferedImage时,是否还可以使用布局管理器?【代码】

我正在尝试从JPanel创建BufferedImage,而不使用JFrame.昨天,我终于能够在该社区的帮助下显示该图像(请参阅下文),但是现在遇到了一些布局问题. BufferedImage上的所有组件都从0,0开始绘制,而不是遵循布局管理器.有人知道这个问题的解决方案吗? 昨天的问题:Can I create a BufferedImage from a JPanel without rendering in a JFrame? 在下面的代码中,两个标签将在图像的左上角相互覆盖.import java.awt.Color; import java.awt.D...

如何用Java中的另一个JPanel替换两个JPanel之一?【代码】

我设计了一个欢迎屏幕界面,其中一个JFrame包含两个JPanels(右侧为JPanel1,左侧为JPanel2).左侧的按钮用于切换JPanel1中的面板.我想按一个按钮,用另一个JPanel替换JPanel1内容,但我不知道如何.请帮忙.解决方法:这是一个非常简单的示例,它应近似于您的描述.在左侧,我们有一个拥抱按钮可以切换右侧面板的内容.在右边,您有一个带有给定边框和标签的面板.当您按下按钮时,右侧的内容将与另一个面板交换.import java.awt.BorderLayout; im...

java-MiGLayout不会向下扩展JPanel【代码】

可以肯定的是,你们中的某些人知道,我正在尝试为Tiled开发开源的替代工具.我问过我应该使用哪种布局,然后提出了我确实喜欢的MiGLayout,但一点都不了解.我也希望从中学到一些东西.我想要的是有人向我解释我做错了什么,显然是,我需要做些什么来纠正这一问题. 让我首先说明什么在我眼中是完美的,但可能并非如此. > JFrame>菜单和菜单项 现在,让我说说我不喜欢的事情,不要屈服于我的意愿. > JToolBar(我不需要间隙,它们用红色圆圈圈出)>...

java-具有背景图像的JPanel,覆盖了其他面板【代码】

我想要一个使用图像作为背景的JPanel,为此,我想向该面板添加新面板,以便它们位于该背景图像的顶部.我尝试了以下方法:Image background;public Table(){super();ImageIcon ii = new ImageIcon(this.getClass().getResource("pokerTable.png"));background = ii.getImage();setSize(Constants.FRAME_WIDTH, Constants.TABLE_HEIGHT);}@Overrideprotected void paintComponent(Graphics g){super.paintComponent(g); if (background ...

java-使用BoxLayout动态扩展JPanel(在null布局上)【代码】

我有一个带有垂直BoxLayout的JPanel,在带有空布局的JPanel之上. 我希望带有BoxLayout的JPanel随着组件的添加而增长. 参见以下代码:public static void main (String[] args) {JFrame f = new JFrame();f.setSize(500,500);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JPanel total = new JPanel();total.setLayout(null);total.setSize(f.getWidth(),f.getHeight());total.setBackground(Color.green);JPanel box = new JP...

java-setPanel(null)时,JPanel上的组件未显示【代码】

有人可以告诉我为什么组合框不显示吗?我有一个控制器:public class TestController extends JPanel {TestView cgView;public TestController() {setLayout(null);cgView=new TestView();add(cgView);} public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {public void run() {JFrame fr = new JFrame("testt");fr.setSize(1200,1000);fr.setResizable(false);TestController cgc=new TestCont...

java-我需要在向其添加新组件时动态调整JPanel的大小【代码】

我需要让用户向我的JFrame中添加更多文本字段,以便一旦框架的大小超过其原始值,滚动窗格就会介入.由于我无法将JScrollPane添加到JFrame中以启用滚动,因此我决定将JPanel置于JFrame并将JPanel对象传递到JScrollPane构造函数.滚动现在可以正常工作,但是直到到达JPanel的边界为止.问题是JPanel的大小保持不变,并且不会动态扩展.发生的是我代码中的按钮用完了300300大小的JPanel的所有空间,但是我想做的就是一旦这些控件用尽了原始空间...

java-在JPanel与JComponent中进行绘制【代码】

我需要一些帮助来理解为什么图形在JComponent与JPanel中的工作方式不同.import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D;import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JPanel;public class Particle extends JComponent implements Runnable{private int x = 45;private int y = 45;private int cx;private int cy;private int size;private Color color;private...

java-JPanel上的组件未显示【代码】

我创建了一个JPanel,并对其进行了一些修改.我将其背景更改为渐变颜色,这是该类.public class JGradientPanel extends JPanel {private static final int N = 32;private Color color1, color2;public JGradientPanel(Color color1, Color color2) {this.setBorder(BorderFactory.createEmptyBorder(N, N, N, N));this.color1 = color1;this.color2 = color2;}@Overridepublic void paintComponent(Graphics g) {super.paintCompone...

java – JPanel setBackground(Color.BLACK)什么都不做【代码】

我有下面的自定义JPanel,我已经使用Netbeans GUI构建器将其添加到我的框架中,但背景不会改变!我可以看到圆圈,用g.fillOval()绘图.怎么了?public class Board extends JPanel{private Player player;public Board(){setOpaque(false);setBackground(Color.BLACK); }public void paintComponent(Graphics g){ super.paintComponent(g);g.setColor(Color.red);g.fillOval(player.getxCenter(), player.getyCenter(), player.getRa...

SWING - 相关标签
组件 - 相关标签