【java-单击按钮后将对象添加到JPanel】教程文章相关的互联网学习教程文章

Java JFrame和JPanel与Repaint()的差异

我一直在玩一些简单的Graphics2D绘画,并在这里得到了社区的一些非常好的帮助. 我设法通过将代码从主JFrame类移动到JPanel然后添加到JFrame类中,从我的“弹性球”中解决了闪烁,有人能告诉我为什么会产生这样的差异吗?解决方法:当您在JComponent的paintComponent方法(例如JPanel)中绘制时,使用Swing,默认情况下绘制时使用双缓冲.直接在JFrame的绘制方法中绘制将只允许AWT类型绘制,因为JFrame直接继承自Frame,一个重量级容器,并且由于...

java – 如何将数据从一个JPanel传递给其他…?【代码】

我有一个包含3个JPanel的JFrame.我想将一个面板的JTextField值传递给其他面板.每个面板都使用JTabbedPane显示.当我访问其他文本字段的值时,我得到null.我怎么才能访问?解决方法:您没有显示任何代码,因此无法知道为什么您会获得“null”值.如果您希望所有三个JPanel都包含具有相同内容的JTextField,则有两种可能的解决方案: >将共享的JTextField放在JTabbedPane所持有的JPanel之外,而不是放在保存JTabbedPane的JPanel中,这样无论显...

java – 在JPanel上绘制多个形状【代码】

如果这有任何含糊不清的元素,我很抱歉,但我对Java Swing / AWT库感到不知所措(我讨厌GUI编程!). 基本上我已经用JPanel设置了一个非常基本的JFrame:public void drawGUI() {//Instantiate the JFrame.mainFrame = new JFrame("Ping Pong alpha1");mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);mainFrame.setLayout(new BorderLayout());//Instantiate & setup the JPanels.btnPan = new JPanel();canPan = new JPan...

java – JFrame中JPanel中的JScrollPane中的JTextPane【代码】

我想要做的就是让JTextPane在JPanel中占用尽可能多的空间.对于我正在使用的UpdateInfoPanel:public class UpdateInfoPanel extends JPanel { private static final long serialVersionUID = 257125249175323679L;private JTextPane textPane;public UpdateInfoPanel(){textPane = new JTextPane();textPane.setBackground(Color.DARK_GRAY);textPane.setEditable(false);textPane.setMargin(null);textPane.setContentType("text/...

java – 绘制JPanel隐藏菜单【代码】

我有一个JPanel,在其上执行自定义绘画,可能需要15秒. 问题是当我在绘制JPanel的同时点击一个菜单时,绘画正在菜单上完成,并且选项不可见. (见图中扭曲的文字) 如果我在绘画完成后单击菜单,则没有不需要的行为,但是当我将鼠标指针移动到不同的菜单上时,同样的事情再次发生.例如,在完成绘画后,如果单击“应用程序”,则不会出现副作用,但是当我将鼠标指针移动到“帮助”时,会显示前面描述的行为.如何避免这种情况? 我在一个单独的线程...

在Java Breakout Game中为JPanel设置背景图片【代码】

好吧,这似乎是一个非常简单的任务,但我似乎无法得到它.我想要的只是将图像(jpg)作为我的突破游戏的背景.这是我的代码: 主类:import java.awt.BorderLayout; import java.awt.Color; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel;public class Breakout extends JFrame {public Breakout(){ add(new BreakBoard());setTitle("Breakout");setSize(BreakCommons.WIDTH, BreakC...

java – 重新绘制JPanel会稍微移动图像【代码】

这是我的第一个问题所以如果我做错了什么请耐心等待. 我正在尝试创建某种地图编辑器.基本上我有一个二维瓷砖阵列,瓷砖有一个地形类型,JPanel为每个瓷砖绘制图像.现在,当我单击一个图块时,地形类型会发生变化,JPanel会重新绘制已更改的每个图块. 问题是当我点击一个磁贴时,JPanel上的图像会以某种方式移动一点.当我调整窗口大小以便重新绘制每个图块时,一切看起来都很好.但是当我改变一块瓷砖时,我无法重新绘制所有内容,这种方法非常...

java – 在图像上绘制JPanel中的形状【代码】

我需要在JPanel的JLabel中显示的图像上绘制形状(圆形或自由线). 我的代码基于How to draw thin line with no gap while dragging the cursor?和Draw a circle using 2 mouse clicks的问题. 代码如下.问题是,当我开始绘制时,图像消失,只有在我停止后才会重新出现.如果我评论行super.paintComponent(g);但这并不会发生,但是当我绘制圆圈时,它会保留以前位置的路径.public static void main(String args[]) { try {URL url = new URL(...

java – 拖动时JPanel子类“跳转”【代码】

我目前正在为我的一个小“油漆”程序编码;到目前为止,您可以使用笔在其上绘图,放大至100倍,然后选择一种颜色.接下来我要添加的是(或者是)拖动JPanel子类的可能性,在该子类上选择要编辑的图像.基本上,通过按住鼠标右键,可以更改JPanel子类的位置,该子类位于JInternalFrame上.我有一个代码示例,它本身应该可以正常工作;至少它对我有用.要复制该问题,只需启动DragPanelTest类并在具有红色边框的组件上拖动鼠标 – 面板不会平滑拖动,而...

java – 你能为JFrame里面的JPanel设置一个永久大小吗?【代码】

我目前的问题是我有一个带有22 GridLayout的JFrame.在其中一个方块内,我有一个显示网格的JPanel.我正在与java swing库进行实地考察……看一看 Image Java会自动扩展每个JLabel以适应屏幕.我希望它只是那些蓝色方块(水)和黑色边框而不是那个灰色空间.有没有办法我可以永久设置JPanel的大小,这样我就不必在获得精确尺寸之前将JFrame的大小改变一百万次,以便灰色空间消失? 我也想设置这些按钮的大小,因此它们不是那么大(BorderLayout...

Java:使用多个线程在JPanel上同时绘制

我有一个JPanel,我希望有几个线程绘制“动画”. “动画”由一个带有ImageIcon的JLabel组成,它正从屏幕的一个区域移动到另一个区域. 现在,问题是 – 我希望通过提到的那些线程在屏幕上描绘几个这样的动画.问题是 – JPanel的“paint()”方法一次只能由一个线程触发 – 导致动画以串行方式执行,而不是以并行方式执行. 知道怎么在屏幕上同时有几个这样的动画?解决方法:不可能使用多个线程来做你想要的. Swing Toolkit是单线程的.正确...

java – 通过ImageIO.read将图像添加到JPanel?【代码】

我正在尝试添加带有图片的JPanel.我正在使用ImageIO.read获取路径,但我得到一个IOException:无法读取输入文件 这张照片叫做TCHLogo.这是我项目中’res’文件夹中的PNG. 如果有更好的方式来显示此图像,请同时提及它! 这是我的JPanel的代码:import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;import javax.imageio.ImageIO; import javax.swing.JPanel;public cl...

在Java swing中重用相同的JPanel【代码】

我有两个需要添加JPanel的JPanel,但是只有最后添加的JPanel才会显示JPanel.如下所示:holderPanel1.add(dataPanel); holderPanel2.add(dataPanel);只有holderPanel2显示dataPanel,但holderPanel1不显示.解决方法:UI组件(例如JPanel)是您在屏幕上看到的内容的下划线表示(位置,父级,子组件等),因此您在屏幕上看到的每个面板都必须具有单独的下划线表示,因此您不能将面板添加到两个不同的面板,您需要创建两个单独的面板.

java – 尝试使用JPanel绘制线条【代码】

我正在尝试使用JPanel绘制线条,而且我已经打了一些墙.我可以让双方失望但是一旦从x线中减去它就会出错.package GUIstuff; import java.awt.Graphics; import javax.swing.JPanel;public class DrawPanel extends JPanel{public void paintComponent (Graphics g){super.paintComponent(g);int width = getWidth();int height = getHeight();int drawCounter = 0; // counters for all the while statements int drawCounter2 = 0;i...

java – 如何将图像添加为JPanel背景?【代码】

我想使用不同的背景制作四个面板,并使用BorderLayout将它们合并在一起.我使用了JLabel,但我无法将任何组件添加到JLabel,因此我需要将其作为背景. 我搜索了一些代码,但它只告诉我如何在JFrame中添加背景.import javax.swing.*; import java.awt.*;public class LoginPanel extends JFrame{ private ImageIcon top = new ImageIcon("C:/Users/user/Desktop/top.png"); private ImageIcon mid = new ImageIcon("C:/Users/user/Desktop...