0

我正在尝试使用 java jframe 开发游戏。事件/图形的每一件事都做得很好。但是当我试图在 jFrame 中添加按钮、菜单等时,我遇到了麻烦。我看到很多其他 java 图形都可以与 Jpane 一起使用。我不是java专业人士,只是偷偷摸摸。那么任何人都可以帮我确定我应该使用哪一个吗?

4

2 回答 2

4

JFrame是包含标题栏的顶级窗口,其中包含一些用于关闭/最小化窗口的控件。它还包含菜单栏。

在此处输入图像描述..在此处输入图像描述

里面JFrame,有一个JPanel大叫content pane。TheJPanel是一个容器,可以包含诸如JButton, JLabel, JTextField, ... 等摆动组件。JPanel也可以包含嵌套JPanel的 s。

请注意,内容窗格图层的前后有多个图层:

在此处输入图像描述

于 2013-10-29T15:20:49.200 回答
1

除了 Eng.Fouad 的回答,这里是这个概念的简单演示,以及打印到 JPanel 的行。

这是创建 JFrame 并向其添加 JPanel 的类。

import javax.swing.*;

public class DrawPanelTest {

    public static void main (String args[]) {
        DrawPanel panel = new DrawPanel();
        JFrame application = new JFrame();

        application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        application.add(panel);
        application.setSize (250, 250);
        application.setVisible(true);
    }
}

这是吸引 JPanel 的类。

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

public class DrawPanel extends JPanel {

    public void paintComponent (Graphics g){
        super.paintComponent(g);

        int width = getWidth();
        int height = getHeight();

        int drawCounter = 0; // counters for all the while statements

        int x1 = 0; // cords change with the while statemetns
        int x2 = 0;
        int y1 = 0;
        int y2 = 0;

        while (drawCounter <= 15)   //counter
        {
            y2 = 250;
            g.drawLine(x1, y1, x2, y2);
            x2 = x2 + 15;
            y1 = y1 + 15;
            drawCounter++;
        }
     }
}
于 2014-02-07T21:00:14.143 回答