Tag: paintcomponent

如何在JAVA中设置运行时的笔触颜色?

我正在尝试创建一个界面,用户可以在其中更改线条的颜色以标记背景或图像的前景。 到目前为止,我已编码: private class ImageLine extends JComponent { java.awt.Point p1,p2; BufferedImage show; ArrayList shapes = new ArrayList(); int flag = 0; Color color = Color.ORANGE; public ImageLine(BufferedImage img) { show = img; setPreferredSize(new Dimension(img.getWidth(), img.getHeight())); this.addMouseListener ( new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { p1 = e.getPoint(); } @Override public void mouseReleased(MouseEvent e) […]

在Jbutton的值在另一个类中更改后,使用paintComponent绘制

我有一个名为ControlsPanel的类。 如果我在此类中按JButton(Start),则boolean(isPressed)的值将更改为true。 在另一个类(CashRegistersPanel)中,我想绘制一个Image,但只有前一个类中boolean的值为true。 当然,这个布尔值在开头是假的,所以它不会绘制任何东西。 这是我的两个class级: public ControlsPanel(final ParametersPanel panel) { start = new JButton(“Start”); stop = new JButton(“Stop”); start.setFont(new Font(“Arial”, Font.BOLD, 14)); stop.setFont(new Font(“Arial”, Font.BOLD, 14)); this.setLayout(null); this.setBackground(new Color(199,202,255)); this.add(start); this.add(stop); start.setBounds(10, 10, 280, 30); stop.setBounds(10, 50, 280, 30); stop.setEnabled(false); start.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { if (start.getText().equals(“Start”)) { start.setText(“Pause”); stop.setEnabled(true); startIsPressed […]

paintComponent无法正常工作

这可能是一个愚蠢的问题,但我如何调用paintComponent? 它根本不显示对象。 它在公共类Ball内扩展了JPanel实现的Runnable。 public class Balls { public static void main(String[] args) { new Balls(); } public Balls() { EventQueue.invokeLater(new Runnable() { public void run() { JFrame frame = new JFrame(“Balls!”); frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); frame.add(new ballAdder()); frame.setSize(1000, 1000); frame.setVisible(true); } }); } public class ballAdder extends JPanel { public ballAdder() { add(new Ball(5, 5)); } } public […]

如何“真正”在Java应用程序中绘制图像

我正在尝试使用Java中的图形,创建一个多米诺骨牌游戏。 但是,我遇到了另一个神秘的小“挑战”……我想这次我真的已经退出了IDE 无论如何这里是我的代码: // In the main class import java.awt.Color; import javax.swing.JFrame; public class GameBoard extends JFrame { public static void main(String[] args) { JFrame game = new JFrame(); game.setTitle(“Domino”); game.setSize(800, 600); game.setDefaultCloseOperation(EXIT_ON_CLOSE); game.setBackground(Color.GREEN); Domino double6 = new Domino(“images/double_6.png”,16,16,’H’,6,6); game.add(double6); // Create pieces game.setVisible(true); } } // The game piece class package domino; import java.awt.Color; […]

这个我正在制作动画的正方形背后留下了一条痕迹,任何人都可以找出原因吗?

感谢您查看此问题。 我想我只是在挫折中刮伤了我的头骨。 所以我得到的是一个包含’JPanel’的’JFrame’。 ‘JPanel’包含一个小的彩色方块,每当我点击窗口时它应该移动X像素。 好吧,基本上一切都表现得应有,但有一个例外。 当蓝色方块向右移动时,它会在其后面留下其他方块的痕迹。 但是,当我重新调整窗口大小时,小道就会消失。 Catalyst.java package Prototype; import java.awt.*; public class Catalyst { public static void main(String[] args){ World theWorldInstance = new World(“Prototype”, 100,100, 600,100); /*title,xpos,ypos,width,height*/ } } World.java package Prototype; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class World extends JFrame { Level mainPanel; public World(String title, int x, int y, […]

如何制作JPanel的背景渐变

我想知道如何制作另一个JPanel中的背景渐变。 在互联网上发现了许多文章,但是所有这些文章都说明了如何覆盖JPanel的paintComponent()而不是如何处理它内部的jPanel。 我使用Netbeans IDE。 我创建了一个新的JPanel类,可以覆盖它的paintComponent()。 我有另一个jpanel(拖放到父JPanel)。 我想制作它的背景渐变。 这是我为父母试过的方式。 有效。 如何为儿童jpanel覆盖这个? public void paintComponent(Graphics g) { Graphics2D g2d = (Graphics2D) g; Color color1 = getBackground(); Color color2 = color1.darker(); int w = getWidth(); int h = getHeight(); GradientPaint gp = new GradientPaint( 0, 0, color1, 0, h, color2); g2d.setPaint(gp); g2d.fillRect(0, 0, w, h); }

如何在Java中制作星形?

我正在尝试用Java制作一些形状。 我创建了两个有两种不同颜色的矩形,但我想创建一个星形,我找不到有用的来源来帮助我这样做。 这是我的代码: import java.awt.*; import javax.swing.*; public class shapes extends JPanel{ @Override public void paintComponent(Graphics GPHCS){ super.paintComponent(GPHCS); GPHCS.setColor(Color.BLUE); GPHCS.fillRect(25,25,100,30); GPHCS.setColor(Color.GRAY); GPHCS.fillRect(25,65,100,30); GPHCS.setColor(new Color(190,81,215)); GPHCS.drawString(“This is my text”, 25, 120); } }

模拟雨

我正在用java制作游戏,我想创建一个倾盆大雨的模拟。 在下雨的时候,云应该向右移动。 移动云是没有问题的。 这是我正在努力的下雨。 我想要做的是使用计时器来绘制一个矩形,这应该看起来像是在云内的随机x值下雨。 然后每100毫秒将下降的y值加1。 但我不想为每次雨滴创建100个不同的矩形,x变量和y变量。 知道我怎么能做到这一点? 建议赞赏! 这是一场2D游戏..对不起。

如何在图形中以透明颜色制作矩形?

我试图在我的应用程序上以红色阴影绘制一个矩形,但我需要使它变得透明,以便它下面的组件仍然会显示。 但是我仍然想要一些颜色仍然会显示。 我正在绘制的方法如下: protected void paintComponent(Graphics g) { if (point != null) { int value = this.chooseColour(); // used to return how bright the red is needed if(value !=0){ Color myColour = new Color(255, value,value ); g.setColor(myColour); g.fillRect(point.x, point.y, this.width, this.height); } else{ Color myColour = new Color(value, 0,0 ); g.setColor(myColour); g.fillRect(point.x, point.y, this.width, this.height); […]

在规模内在JScrollPane中绘制图像

我有一个加载图像的滚动窗格。 我没有这个图像与她的自然大小,如果这个图像太大,我不会激活滚动条,但这个指令 g.drawImage(immagine,0,0,getWidth(),getHeight(),this); 用于放置在滚动窗格中的缩放图像。 我能做什么? class贵: import java.awt。*; import java.awt.event。*; import java.io.File; import javax.swing。*; 公共类Gui实现ActionListener { 私人JFrame frmEditor; 私人Mappa内容; 私人JMenuItem mntmSfondo; private JScrollPane scrollabile; / ** *启动应用程序。 * / public static void main(String [] args){ EventQueue.invokeLater(new Runnable(){ public void run(){ 尝试{ 桂窗=新桂(); window.frmEditor.setVisible(真); } catch(例外e){ e.printStackTrace(); } } }); } / ** *创建应用程序。 * / […]