我正在尝试使用java jframe开发游戏。事件/图形的每件事都做得非常好。但是,当我试图在jFrame中添加按钮,菜单等时,我遇到了麻烦。我看到很多其他java图形与Jpane一起使用。我不是java的专业人士,只是偷偷摸摸。那么任何人都可以帮助我使用哪一个?
答案 0 :(得分:4)
JFrame
是顶级窗口,其中包含一个标题栏,其中包含一些控件以关闭/最小化窗口。它还包含菜单栏。
..
在JFrame
内,有一个名为JPanel
的大content pane
。 JPanel
是一个容器,可以包含JButton
,JLabel
,JTextField
,等等{@ 1}}等嵌套组件。JPanel
可以包含嵌套JPanel
也是。
请注意,内容窗格层后面和前面有多个图层:
答案 1 :(得分: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++;
}
}
}