我有一个JFrame。 在那我有两个容器,即两个JPanel。 一个小组拥有一个图像。 另外还有一个JButton。 然后这两个被添加到JTabbedPane。 我的问题是使用一个.gif图像的图像变得静态的任何其他正常的.jpg图像。 任何人都可以帮助我一些更多的想法? 这是我的代码: import java.awt.Component; import java.awt.Dimension; import java.awt.Frame; import java.awt.Graphics; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.net.URL; import java.net.UnknownHostException; import javax.imageio.ImageIO; import javax.imageio.stream.ImageInputStream; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import […]
基本上,我想模拟绘画图像上的弹簧行为。 我想让它通过几次迭代运行(比如固定在一个弹簧上)。 我在网上find的所有例子都会导致这个类 – FloatSpring.java 它应该提供所需的计算来将点A移动到点B,并使用类似弹簧的效果,这取决于各种FloatSpring类的设置。 问题是,我没有find一个明确的例子,如何正确使用它。 我做了这个小例子来testingFloatSpring : public static void main ( String[] args ) { // Some image to bounce final ImageIcon icon = new ImageIcon ( WebProgressOverlayExample.class.getResource ( "icons/ava1.jpg" ) ); // Component to paint image on JComponent spring = new JComponent () { // Zoom value (1f = 100% = […]
我想要看到所有的积分 ,但是我只能看到1分。 我改变了什么看到所有的点 ? 在System.out您可以看到10次“设置”,然后2次“paintComponent”。 我应该改变什么,每次设置后调用它改变“paintComponente”? ================================================== ================================ public class exampe extends JPanel { int x; int y; public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; g2.fillOval(x-2,y-2,4,4); System.out.println("paintComponent"); } public void set(int X, int Y) { x = X; y = Y; System.out.println("set"); super.repaint(); } public static void main(String args[]) { int […]
我是Java新手,目前正在用graphics创build一个游戏。 我有这个类从JFrame延伸。 在这个类中,我有许多JPanel需要一个图像作为背景。 据我所知,为了能够在JPanel中绘制图像,我需要一个从JPanel扩展而来的单独的类,并且该类的paintComponent方法将完成这项工作。 但是我不想为每个JPanel单独做一个类,我有太多它们; 事实上我只关心背景。 我该怎么做? 它是与一个匿名的内部类? 怎么样? 为了更好的理解我提供了一些代码: public GUI extends JFrame { private JPanel x; … public GUI() { x = new JPanel(); // put an image background to x }
我有一个关于随机城市交通networking模拟的Java项目,我设法find了实现这个项目的方法,所以我把每个交叉点分成了一个基本上是扩展的JPanel类(叫做家乐福)的部分。一切工作都很顺利,直到我陷入如何绘制车辆并使它们通过道路。 所以我的问题是如何绘制一个图像(车辆图像)在另一个图像(道路)?
我的问题是,我不明白swingworker是如何工作的,因为我正在做的是使fa=worker.get()因为我有一个很长的方法,计算很多点在后台运行,因为我不'我想冻结我的界面,我想让她的结果来绘制组件图像。 但是,我不明白它在哪里去,当我做fa=worker.get()因为我的控制台打印"titi" ,我把很多其他打印看到程序的下一部分到达,但没有人打印。 请帮助我知道在get()或执行它之后编译的位置,以及如果您对如何实现我所需要的每个代码块有所了解,欢迎。 public void paintComponent(final Graphics g1){ // TODO Auto-generated method stub final int width=getWidth(); final int height=getHeight(); image= new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); //On transforme le rectangle de base en un rectangle qui a le meme ratio que le cadre contenant l'ancien //(Il yaura dessus la meme fractale mais avec plus de fond noir) afin […]
我如何绘制一个没有类的对象(它扩展了JFrame )? 我find了getGraphics方法,但它不绘制对象。 import javax.swing.*; import java.awt.*; public class Main { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); frame.setSize(600, 400); JPanel panel = new JPanel(); frame.add(panel); Graphics g = panel.getGraphics(); g.setColor(Color.BLUE); g.fillRect(0, 0, 100, 100); } }
我正在制作一个项目,我正在试图制作一个绘画程序。 到目前为止,我已经使用netbeans来创build一个GUI并设置程序。 到目前为止,我可以调用所有必要的协调来绘制它,但是我很困惑如何真正地在里面绘画。 在我的代码的最后,我有一个失败的尝试在面板内绘图。 任何人都可以解释/显示如何在这样的例子中使用graphics? 我find的所有示例都使用JPanel创build了一个类并将其扩展,但是我不知道是否可以这样做,因为它是在netbeans中生成的。 我需要在JFrame内部绘制一个JPanel 。 我不知道把graphics类放在哪里。 JavaPaintUI类 package javapaint; import java.awt.*; import javax.swing.*; public class JavaPaintUI extends javax.swing.JFrame { public JavaPaintUI() { initComponents(); } private void initComponents() { jPanel2 = new javax.swing.JPanel(); jPanel2.setBackground(new java.awt.Color(255, 255, 255)); jPanel2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED)); jPanel2.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { jPanel2MousePressed(evt); } public void mouseReleased(java.awt.event.MouseEvent evt) { […]
这可能是一个很小的问题。 我刚刚开始学习Java 我不明白paintComponent方法的操作。 我知道如果我想绘制的东西,我必须重写paintComponent方法。 public void paintComponent(Graphics g) { … } 但是什么时候叫? 我从来没有看到任何像“object.paintComponent(g)”,但它仍然是在程序运行时绘制的。 什么是graphics参数? 这个从哪里来? 调用方法时必须提供参数。 但正如我之前所说,似乎这种方法从来没有被明确地称为。 那么谁提供这个参数? 为什么我们必须将其投射到Graphics2D? public void paintComponent(Graphics g) { … Graphics2D g2= (Graphics2D) g; … }
框架窗口正在启动,但背景和前景图像不加载,窗口框架的大小也非常小。 请帮我解决这个错误。 这里是张贴的代码 Aquarium.java import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.image.BufferedImage; import java.awt.image.ImageObserver; import java.util.Vector; public class Aquarium extends Frame implements Runnable { Image aquariumImage,memoryImage; BufferedImage bImage; Graphics memoryGraphics; Image [] fishImages=new Image[2]; MediaTracker tracker; int numberFishes=12; Vector<Fish> fishes=new Vector<Fish>(); Thread thread; boolean runOk=true; int sleepTime=110; Fish fish; Aquarium() { //set the title and […]