有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在jframe中锚定jpanel的图形/线条?

当我调整jframe的大小时,我想使我画的jpanel的线不会改变。我只是想让它保持在原来的位置,如果我把jframe的大小调整为更小,那么部分线条应该隐藏起来,而不是调整线条的大小

import javax.swing.JFrame;
import java.awt.*;

public class GUIIntroduction {

    public static void main(String[] args){
        DrawPanel panel = new DrawPanel();
        JFrame app = new JFrame();
        panel.setBounds(0,0,60,60);
        app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        app.add(panel);
        app.setSize(600,600);
        app.setVisible(true);
    }
}

import java.awt.Graphics;
import javax.swing.JPanel;
public class DrawPanel extends JPanel{

    public void paintComponent(Graphics g){
        super.paintComponent(g);
        int width = getWidth();
        int height = getHeight();
        g.drawLine(0,height,width,0);
    }

}

共 (1) 个答案

  1. # 1 楼答案

    g.drawLine(0,height,width,0);

    如果不想更改线的大小,那么为什么要在绘制方法中使用动态变量

    “宽度”和“高度”的值随帧大小的变化而变化

    只需使用:

    g.drawLine(0, 100, 100, 0);