相关疑难解决方法(0)

paintComponent()与paint()和JPanel vs Canvas在画笔类型的GUI中

我从这里得到了一些有趣的想法和批评,这篇这篇文章(参见上一篇关于GUI代码的帖子).尽管如此,我仍然对某些事情感到困惑.主要是,显示用户引入图形的最便宜的方式是什么?

更具体而言,我使用了paintComponent()从方法JPanel通过使这个类的一个对象中的类MouseDragged()与方法一起paintComponent(getGraphics())方法(AuxClass2AuxClass1相应地).

显然,使用getGraphics()paintComponent()不是repaint()坏主意,我怀疑与内存使用有关.AuxClass2每次用户拖动鼠标时调用也是一个坏主意.

JPanel vs Canvas(即swing vs awt)也有点令人困惑.使用什么以及何时使用?

我一直试图找到一个解决方法,但没有找到一个,特别是对于getGraphics()方法:如何将图形添加到面板?

java user-interface swing awt jpanel

15
推荐指数
3
解决办法
3万
查看次数

在jsplitpane中的jscrollpane中调整canvas的问题

我正在使用NetBeans GUI编辑器创建一个应用程序,我希望在其中有一个JSplitPane,其顶部组件将Canvas在a中JScrollPane,而底部组件将是a JTextArea或类似的东西.

当我向下拉分隔器,从而增加顶部组件的大小时,一切似乎都调整得很好.

当我试图向上推动分频器时出现问题:分频器似乎在Canvas(也可能在它下面JScrollPane)下方.

我试图首选/最小/最大的尺寸的各种组合JScrollPaneCanvas,但似乎没有任何工作.

这是Netbeans生成的代码的一部分,可能与手头的问题有关:

jSplitPane1 = new javax.swing.JSplitPane();
jScrollPane1 = new javax.swing.JScrollPane();
canvas1 = new java.awt.Canvas();
jTextField1 = new javax.swing.JTextField();

jSplitPane1.setDividerLocation(300);
jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);

jScrollPane1.setViewportView(canvas1);

jSplitPane1.setTopComponent(jScrollPane1);

jTextField1.setText("jTextField1");
jSplitPane1.setRightComponent(jTextField1);
Run Code Online (Sandbox Code Playgroud)

由于这是我的第一个问题,我不允许在问题中嵌入图像,因此我将发布链接:

红色箭头表示分隔线的位置.

在此先感谢您的时间.

java swing jscrollpane jsplitpane

7
推荐指数
2
解决办法
7837
查看次数

Java JScrollPane更新映像

我正在制作一个具有滚动图像的程序,如果按下按钮,我无法弄清楚如何更新图像(例如:向图像添加绿色椭圆.)它已经绘制了将图像放入JScrollPane并可以滚动,但是当您单击按钮时它不会刷新图像.(代码中的更多细节)这是代码:

public class PegMaster extends JPanel implements ActionListener {

    //Note: not complete code
    public PegBox[] pegbox = new PegBox[9];

    public static Dimension size = new Dimension(520, 500);

    public BufferedImage canvas;
    public Graphics2D g2d;
    public JScrollPane scroller;
    JPanel panel;
    private Canvas window;

    JScrollPane pictureScrollPane;

    public PegMaster() {
        JButton button = new JButton("test");
        button.addActionListener(this);
        add(button);

        canvas = new BufferedImage((int)size.getWidth()-30, 75 * GUESSES, BufferedImage.TYPE_INT_RGB);
        g2d = canvas.createGraphics();
        for(int i = 0;i<=pegbox.length-1;i++) {
           pegbox[i] = new PegBox(i, g2d);
        }
        window = new Canvas(new ImageIcon(toImage(canvas)), …
Run Code Online (Sandbox Code Playgroud)

java swing image paint jscrollpane

1
推荐指数
1
解决办法
1984
查看次数

java drawImage无法从事件中运行

我有一个扩展jlabel并使用paintComponent绘制它的类,如下所示:paintPhotos.java

package myApp;
import java.awt.*;
import javax.swing.*;
/**
*
* @author PAGOLINA
*/
public class paintPhotos extends javax.swing.JLabel {

    public Image img; int w; int h;
public paintPhotos(Image img, int w, int h) {
    this.img = img; this.w = w; this.h = h;
    System.out.println("am paintclass");
 }
@Override
public void paintComponent(Graphics p) {
    System.out.println("am here");
    super.paintComponent(p);
    Graphics2D g2 = (Graphics2D) p;
    p.drawImage(img, 0, 0, w, h, this);
}

}
Run Code Online (Sandbox Code Playgroud)

当我尝试从另一个类的构造函数中绘制时(AddScore.java).

public AddScore() {
    initComponents();
    setLocationRelativeTo(null);
    removeNotify();
    setUndecorated(true);
    Image imag = new …
Run Code Online (Sandbox Code Playgroud)

java swing awt jlabel java-2d

1
推荐指数
1
解决办法
430
查看次数

在图形中更改图片的色调

好的,我需要帮助改变这个滑块的色调.我似乎无法弄明白.请不要@override.我需要一些可以在Ready to Program上运行的东西.当滑块返回0时,色调将恢复正常.我不需要太复杂.只需一个简单的Hue滑块就可以了.谢谢!

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.Applet;
import javax.swing.event.*;
import java.applet.*;

public class test extends Applet implements ActionListener, ChangeListener
{

    //Widgets, Panels
    JSlider slider;
    Panel flow;
    int colorr;
    int colorg;
    int colorb;
    int stars;
    //House Coordinates, initialized to 1. (Top Right and No Scaling)


    public void init ()
    { //Set Up Input Fields for House Coordinates
        resize (380, 240);
        setBackground (new Color (102, 179, 255));

        slider = new JSlider ();
        slider.setValue (0);
        slider.setBackground (new Color (102, …
Run Code Online (Sandbox Code Playgroud)

java swing colors jslider hue

-1
推荐指数
1
解决办法
1572
查看次数

标签 统计

java ×5

swing ×5

awt ×2

jscrollpane ×2

colors ×1

hue ×1

image ×1

java-2d ×1

jlabel ×1

jpanel ×1

jslider ×1

jsplitpane ×1

paint ×1

user-interface ×1