Tag: jpanel

使用JPanel上的滑块绘制二次公式

所以,我正在尝试制作一个程序,你可以通过滑块输入二次公式(ax ^ 2 + bx + c)。 然后在调整A,B和C时绘制图形。 问题: 我想要用超级油漆写的东西和滑块在一个地方。 当我运行滑块时,滑块就位。 有正确背景的空间我希望我的图表在面板中但没有实际的图形。 这是我的驱动程序类: import java.awt.*; import javax.swing.*; public class quadraticslider { public static void main (String[] args) { JFrame frame = new JFrame (“Quadratic Slider”); frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(new pp109quadraticpanel()); frame.pack(); frame.setVisible(true); } } 这是小组类: import java.awt.*; import javax.swing.*; import javax.swing.event.*; public class quadraticpanel extends JPanel […]

JPanel中的JPanels

我有Java JPanels的问题。 我想把两个不同布局的JPanel放到一个JPanel中,它也有一个布局。 是否有可能使它工作? BibP() setLayout(new GridLayout(5, 1)); //The big JPanel add(new A(), new FlowLayout(4)); add(new B(), new GridLayout(7,2)); A和B都是类扩展为JPanels,无论我改变或评论B总是出现在1行。 我有4个元素添加到A和14到B(JLabels和JTextAreas),并且它们中只有添加和一些计算的代码不多。 问题可能出在JFrame中,我试图将大型JPanel放入其中。 JFrame.this.add(new BigP(),BorderLayout.CENTER); 编辑: public class BigP extends JPanel{ //Labels and TextAres public class A extends JPanel{ public A(){ setBorder(new EmptyBorder(0, -50, 0, 0)); //get date and add to textareas //add the label and […]

将面板添加到框架时获取空指针exception

更新:我试图通过使面板与另一个面板的制作方式解决问题,但我得到了这个例外 Exception in thread “main” java.lang.NullPointerException at java.awt.Container.addImpl(Container.java:1040) at java.awt.Container.add(Container.java:926) at Plotter.createLayout(Plotter.java:48) at Plotter.(Plotter.java:37) at Plotter.main(Plotter.java:325) 这是我从(Plotter.java)得到错误的代码:(我添加的部分是createsliderpanel(),slider,playButton和down) 此行被注释但未使用时也不会发生exception: c.add(sliderPanel , BorderLayout.SOUTH; / import java.util.*; import java.io.*; import javax.swing.*; import javax.swing.Timer; import java.awt.*; import java.awt.event.*; public class Plotter extends JFrame implements ActionListener { private JMenuBar menuBar = new JMenuBar(); private JMenu fileMenu = new JMenu(“File”); private […]

摆动动态(自动)贴合布局

考虑100(动态) JLabel对象,我想在可resize的JPanel显示它们。 目前我使用网格包布局(2列和50行),但是当用户resize并展开表单时,我希望(例如)4列25行,小表格(1列和100行)相同,以其他方式填满整个面板(没有任何空白区域)。 我知道这应该手动完成,目前我重绘(重绘)所有成员一旦用户调整表单,但我只是想知道是否有任何准备好的解决方案这样做。 提前致谢。

图像在鼠标框架中没有新鲜点击在Java中

第一次在三个不同arrays的Jframe上显示三个随机图像。 甚至触发了MouseClicked方法,但帧中没有刷新图像。 我想每次点击Frame时刷新三个随机图像。 请帮忙 import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.util.Random; import javax.swing.*; public class Cards extends JFrame implements MouseListener { public static void main(String[] args) { JFrame frame = new Cards(); frame.setTitle(“Cards”); frame.setSize(500, 500); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); new Cards(); } public Cards() { this.getContentPane().addMouseListener(this); cards1(); cards2(); cards3(); } public void cards1() […]

Java Swing:将鼠标hover在矩形上时,光标响应非常慢

下面是用户将鼠标光标移动到一堆矩形上的代码,光标应该在矩形上方变为手形光标,并在不在给定矩形顶部时恢复为默认正常光标。 问题:解决方案有效,但速度很慢。他们有很多方法可以“给猫皮肤”,因此我们可以在很多方面对问题进行建模,解决方案可以是各种各样的,但不变的是,我们必须循环每个矩形使用迭代器并使用contains()方法确定JPanel上的给定点是否确实在矩形内,并相应地更改光标。 就像需要实现声音一样简单,即在hover在特定矩形上时更改光标,程序开始变慢,因为我添加了不同的形状和更多的矩形。 下面的代码简单地显示了与x轴对齐的矩形和与y轴对齐的矩形。我将它们 (仍然可以将它们组合成一个列表)分成两个矩形列表。我用一个while循环迭代两个列表另一个,每个都在适当的地方使用break关键字。 我避免只使用一个大型列表来保存两种类型的矩形(或不同类型的形状),因为 我需要每隔一段时间添加不同的形状,并且它更好,更易读,可以在自己的列表中分类不同的形状。 我本能地试图通过对不同的形状使用不同的列表来缩短漫长的过程, 如果可能的话 ,只迭代正确的列表而不是迭代其他不必要的形状。一个大的列表将线性增长并迭代***所有塑造***以一直***到正确的***。***一个大的列表似乎不是一个如此聪明的实现? 希望尽我所能避免One-Large-List的努力不是过早优化的情况!!!这一点我认为使用线程同时或同时循环遍历不同的列表但是一个线程行为不端。 那么,我将形状分类在不同的List中,因为下面的示例有两个Lists.but这个技巧也失败了,因为我必须按顺序遍历每个列表。所以我在另一个列表中有一个while循环。我没有避免迭代不必要的列表,因为一个循环必须在另一个循环中(或者从另一个循环开始),那么内循环(或后面的循环)会支付过度的性能开销,因为如果我们可以事先确定一个形状属于一个形状,那么第一个循环是完全没有必要的。手上的某个组。请注意,确定鼠标光标是否hover在属于圆形列表或矩形列表的形状上,是我们事先需要知道的! 这样我们就可以遍历特定的列表。 它甚至变得更好,如果在这一点上你仍然可以按照我的推理, 事先知道哪个List属于一个必须在没有contains()方法的情况下完成,因为在List 内部迭代时要使用contains()! ! 总而言之,下面的代码只是两个列表上的线性迭代。 要访问第二个List,你必须通过第一个。有没有办法可以先通过迭代第一个列表? 如果我所有的解释和探索都是错误的并且没有意义。 题。 那么,如何改进下面代码的光标响应。 编辑 很抱歉发布了无法编译的代码,我已经从这个代码片段开始,并且正在玩我的新玩具,称为线程,直到我最终将自己绑在一个我无法解开的结中。真相是我选择的线程,因为我希望选择矩形并使用setRect()方法移动它们。我设想在预定的运动中移动各种形状,即仿射转换可能需要线程,因为我的绘画,重新绘制,搜索和各种努力工作从一些multithreading中受益。总之,下面的代码编译,光标响应实际上是好的! 。哎哟! 我有一个类似的实现,但可能它的缓慢是由绘制矩形的其他类引起的,不像在这个SSCCE中,它们由for循环绘制。 同时,如果有人有办法通过线程获得这种良好的性能,那将非常感激。谢谢提前。 import java.awt.Color; import java.awt.Cursor; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Point; import java.awt.Rectangle; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.awt.geom.Rectangle2D; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import javax.swing.*; […]

将JTextArea插入带有JLabel的JPanel

我正在尝试显示我发布的图纸。 当我的代码运行并且用户单击“帐户”时,面板仅显示“确定”和“取消”按钮(参见屏幕截图)。 我已经为面板accountPanel添加了三个带有JLabel的JTextAreas,但是它们都没有显示。 我的代码如下。 import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.Component; import java.awt.LayoutManager; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JFrame; import javax.swing.JRadioButton; import javax.swing.JTabbedPane; import javax.swing.JTextArea; public class TestApplication implements ActionListener { public static void main(String[] args) { JLabel input = new JLabel(); […]

如何在JPanel中添加图像

我在我的框架中添加了一个tabbedpane并调用了tab.add(“”,new Img()),它使用JPanel扩展了Img .. 问题是:我可以在JPanel和drawImage中添加JScrollPane作为JPanel的背景,还可以在该图像上进行额外的绘制,例如在背景图像上制作路线(例如地图),因为我想在这些路线上应用Prim算法… 如果我想在tabbedpane上添加额外的面板,如上所述,我怎么能控制这些标签操作.. 示例代码就像…… 如果您对Prim的算法和图算法有任何想法,请帮助我! 谢谢! public class MainFrame extends JFrame { private JMenuBar menuBar = new JMenuBar(); private JMenu menuFile = new JMenu(); private JMenuItem menuFileExit = new JMenuItem(); private JPanel jPanel1 = new JPanel(); private JLabel lbl1=new JLabel(); private JLabel lbl2=new JLabel(); private JPanel jPanel2 = new JPanel(); private JTabbedPane jTabbedPane1 […]

分层许多JPanel并动态添加它们

我正在开发一款基于主题医院的SIM游戏,这是一款相当古老的游戏。 我已经在底层工作方面取得了很多进展,但是现在我要进入GUI元素,我以前没有做过很多。 我还是java的新手。 我试图创建的效果如下所示…… http://www.tubechop.com/watch/18438 单击按钮,打开一个带有选项卡的面板,以从不同的选择中进行选择,然后单击按钮以构建房间。 我相信“标签”我可以使用卡片布局? 对于房间的实际建设,我几乎排序。 我现在面临的主要问题是,只需点击一下按钮即可打开面板。 目前,我有1个JFrame和2个JPanels,主游戏面板和带有几个按钮的控制面板。 谁能告诉我一些如何做这样事情的简单例子? 我知道它可能非常简单,我敢打赌你们中的一些人甚至可以把代码写到头脑中,但我是java的新手,并且到目前为止已经更多地了解了编程的逻辑元素而不是如何构建游戏中需要的更复杂的多层GUI。 我知道这是一个雄心勃勃的项目,但我已经走了很长的路,甚至使用A *实现了自定义路径查找,我很高兴(感谢StackOverflow的人们!) 预先感谢您的帮助。

Java游戏区域难度

在许多第一人称2D游戏中,会有一个巨大的竞争场地,但是你的计算机上有一个小的显示区域: ++++++++++++++++++++++++++++++++++++ +++++aaaaaa+++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++ +++++aaaaaa+++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++ +++++aaaaaa+++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++ +++++aaaaaa+++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++ 其中“+”是整个比赛场地,“a”是屏幕上的可显示区域。 我想制作一个这样的游戏,按箭头键可以让你在整个运动场上移动。 问题:我是否需要创建一个巨大的JPanel才能实现这一目标? (比屏幕大)