Tag: jpanel

JLabel和JLayeredPane – 如何在另一张图像上显示图像?

我尝试在java中创建一个小游戏,但我遇到了麻烦。 当我绘制地图时,我无法在不覆盖正方形的标题集的情况下显示字符。 我的目标是能够在同一个方块上显示许多图片(如草的标题集,角色和树),所以我必须处理我的图片的透明度(这不是问题)和图层(这是问题)。 那么如何在另一张图像上显示图像呢? 如何向java解释我需要在另一个图像上或下面显示此图像? 这是我的源代码。 我不知道是不是可以帮到你。 如果你给我一个能够管理图层的线索或function,你的帮助对我来说真的很有帮助。 对我来说重写所有代码没用.x)这个程序不完整,我只用它来测试我的程序。 我知道他刷了两次地图,所以他覆盖了角色的方格(他还有很多其他的小故障),但这不是我问题的目的。 我尝试一步一步完成我的游戏! import javax.swing.JFrame; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.SwingUtilities; public class Window extends Thread { private static JFrame window = new JFrame(“game”); public void run() { Map map = new Map(); Characters characters = new Characters(); window.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); window.setSize(Settings.sizeX, Settings.sizeY); window.setLocationRelativeTo(null); window.setResizable(false); window.setVisible(true); map.start(); […]

将JPanel添加到JFrame

我有一个程序,其中JPanel添加到JFrame: public class Test{ Test2 test = new Test2(); JFrame frame = new JFrame(); Test(){ … frame.setLayout(new BorderLayout()); frame.add(test, BorderLayout.CENTER); … } //main … } public class Test2{ JPanel test2 = new JPanel(); Test2(){ … } } 我收到一个错误,要求我将’panel’的类型更改为’component’。 我修复此错误? 它要我做:Component panel = new Component();

如何使JLabel从下一行开始

JPanel pMeasure = new JPanel(); …. JLabel economy = new JLabel(“Economy”); JLabel regularity = new JLabel(“Regularity”); pMeasure.add(economy); pMeasure.add(regularity); … 当我运行上面的代码时,我得到这个输出: Economy Regularity 如何获得此输出,每个JLabel在新行上启动? 谢谢 Economy Regularity

如何在Java Swing中使用可折叠/可扩展的JPanel

当用户点击其边框上的文字/图标时,我想要一个可以折叠或展开的JPanel。 由于我的应用程序中的空间紧张,我需要这种类型的面板。 我读了关于CollapsiblePanel类但不知道如何使用它。我认为需要下载SwingX,但没有找到任何地方。 而且,如果我在基本的Java Swing中得到解决方案会更好。

将JLayeredPane添加到JPanel

我正在尝试将JLayeredPane添加到JPanel,然后将图像(JLabel图标)和按钮添加到JLayeredPane,但都不显示。 我已经测试了没有按钮和分层窗格的图像,所以我知道它有效。 这是我正在使用的一些代码。 有什么我遗失或做错了吗? public class MyClass extends JPanel { private JLayeredPane layeredPane; private JLabel imageContainer = new JLabel(); private JButton info = new JButton(“i”); MyClass(ImageIcon image) { super(); this.imageContainer.setIcon(image); this.layeredPane = new JLayeredPane(); layeredPane.setPreferredSize(new Dimension(300, 300)); layeredPane.add(imageContainer, new Integer(50)); layeredPane.add(info, new Integer(100)); this.add(layeredPane); } }

在Java Swing中缩放JPanel

我有一个现有的Java Swing应用程序。 在应用程序的中间是一个JPanel ,我希望能够zoom in and out 。 JPanel上有许多JComponents (主要是其他JPanels和JLabels )。 此外, mouse位置也需要适当调整 – 因此即使在缩放JPanel之后mouse也需要保持相同。 因此,简单地改变每个component的paint方法似乎不合理。 编辑: 好吧,我有点使用MagnifierUI class进行一些小编辑。 然而,我创建的放大面板有错误的鼠标事件 – 即面板缩放, mouseevents不是。

如何初始化图形? 因为它说没有初始化

我有我的部分代码,但它不会初始化,我不知道如何做到这一点。 它一直给我一个错误,比如memor.main中线程“main”java.lang.NullPointerException中的exception(memor.java:131) import java.awt.*; import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.SwingConstants; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class memor extends JFrame { private static final long serialVersionUID = 1L; public static void main(String args[]){ final JPanel pan; GridLayout h=new GridLayout(3,3); pan =new JPanel(h); JButton button1= new JButton(“1”); pan.add(button1); final JLabel label1= […]

Panel.repaint(); 弄乱了布局

JPanel启动 p = new JPanel() { private static final long serialVersionUID = 1L; public void paintComponent(Graphics g) { if(errors == 1) g.drawOval(215, 50, 75, 75); else if(errors == 2) g.drawOval(200,200,200,200); } }; 调用repaint方法 static void drawHead() { System.out.println(“Head”); errors = 1; p.removeAll(); p.revalidate(); p.repaint(); } 在repaint框架之前, 请看http://sofzh.miximages.com/java/XQlQeul.png 然后看起来像这样, http://i.imgur.com/RnVuUzt.png 我在想我的drawHead()方法有一个错误,但我似乎无法解决这个问题。 有谁知道发生了什么? 我想要的结果将是第一张图片,但是画了一个head 。

将MouseListener添加到面板

我正在尝试将鼠标操作添加到我的面板。 这是程序应该做的: 编写一个程序,允许用户通过三次鼠标按下指定三角形。 第一次鼠标按下后,画一个小点。 在第二次鼠标按下后,绘制一条连接前两点的线。 第三次鼠标按下后,绘制整个三角形。 第四次鼠标按下删除旧三角形并开始一个新三角形。

Java,将JScrollList放到JPanel上

我想知道是否有办法在带有JPanel的JFrame上添加JList。 我正在制作一个程序,我搜索了整个网站的答案,但我找不到一个。 无论如何优选地,如果可能的话,JList具有滚动窗格(可以工作) 这是我的代码: public static void main(String args[]) { JScrollPane scrollpane; JFrame frame = new JFrame(); JList list; String categories[] = { “1”, “2”, “3”,”4″, “5”, “6”, “7”,”8″, “9”, “10”, “11”, “12” }; list = new JList(categories); JScrollPane scrollpane1 = new JScrollPane(list); frame.getContentPane().add(scrollpane1, BorderLayout.CENTER); MyClass sl = new MyClass(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setResizable(false); frame.setLocationRelativeTo(null); frame.setSize(300, […]