用JAVA,Swing做的一个简单窗口,为什么两个按钮显示在Panel1里啊。。我设置的是显示在Panel2里面啊在线等

import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JFrame {
private JPanel panel1, panel2;
private JButton zx, lx;
public Test() {
panel1 = new JPanel();
panel2 = new JPanel();
zx = new JButton();
lx = new JButton();
zx.setText("照相");
lx.setText("录像");

panel1.setBackground(Color.blue);
panel1.setSize(640,400);
panel2.setBackground(Color.green);
panel2.setSize(640,80);
panel2.add(lx);
panel2.add(zx);
this.add(panel1);
this.add(panel2);
this.setSize(640, 480);
this.setLocation(300, 260);
this.setLocationRelativeTo(null);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}

第1个回答  2013-07-30
是显示在panel2里的,因为你的JFrame窗口使用的是默认的布局方式,也就是BorderLayot布局,而且你没有指定JPanel添加的位置,所以,panel2吧panel1覆盖了而已。本回答被网友采纳
第2个回答  2013-07-30
调用各种add方法之前不设置布局是不好滴……切记
第3个回答  2013-07-30
这两个Button的确是在Panel2中,看着似乎是在Panel1中,是因为Panel1这个背景色覆盖了Panel2。你可以先把Panel1给去掉,看看效果,再测试测试。
第4个回答  2013-07-30
package test;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JFrame {
private JPanel panel1, panel2;
private JButton zx, lx;
public Test() {
panel1 = new JPanel();
panel2 = new JPanel();
zx = new JButton();
lx = new JButton();
zx.setText("照相");
lx.setText("录像");
FlowLayout f = new FlowLayout();
f.setHgap(0);
f.setVgap(0);
this.setLayout(f);

panel1.setBackground(Color.blue);
panel1.setPreferredSize(new Dimension(640,400));

panel2.setBackground(Color.green);
panel2.setPreferredSize(new Dimension(640,80));
panel2.add(lx);
panel2.add(zx);

this.add(panel1);
this.add(panel2);
this.setSize(640, 480);
this.setLocation(300, 260);
this.setLocationRelativeTo(null);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}

java swing 在JPanel里添加多个JButton为什么只显示一个
1、检查下你设置的JPanel的布局方式,该种布局方式是否适合放置多个按钮 2、检查下你设置的按钮是否都是设置为可见状态,只有可见状态才能展示出来 3、JPanel的宽带和高度是否合适,因为添加多个的时候,有可能会导致按钮重叠。

java怎样放两个按钮在窗体的正中间
方法一: [绝对布局],通过设置panel 为绝对布局,然后设置按钮的宽高和位置 参考代码 import javax.swing.*;public class JFDemo1 extends JFrame{public JFDemo1() {JPanel panel=new JPanel();panel.setLayout(null);\/\/设置为空布局.或者叫绝对布局JButton messageButton = new JButton("OK");J...

java设计一个简单的界面,界面里有两个按钮,而且这两个按钮点击以后有反...
import java.awt.BorderLayout;import java.awt.event.*;import javax.swing.*;public class NumFrame extends JFrame implements ActionListener {JButton jb1, jb2;int num = 50;JLabel jl;public NumFrame() {jl = new JLabel("数字:" + num, JLabel.CENTER);jb1 = new JButton("数字+...

用java的swing做界面,想通过在同一个窗口进行面板的切换来达到跳转界面...
方法一: 可以使用JTabbedPane 来实现,代码如下 JTabbedPane jtp = new JTabbedPane();JPanel jp1 = new JPanel();JPanel jp2 = new JPanel();jtp.add("面板1", jp1);jtp.add("面板2", jp2);方法二: (推荐) 跳转界面 , 还是需要从1个窗口到另外1个窗口, 这样正规点, 数据可以从第一...

panel1是什么接口?
在Java Swing编程中,通过Panel组件可以将界面元素组合在一起,形成完整的窗口界面。开发者可以在Panel上添加按钮、文本框等控件,通过编程控制这些控件的行为和属性。同时,Panel还支持布局管理,可以通过设置不同的布局管理器来控制其内元素的排列方式。此外,Panel1接口允许开发者通过继承该类来扩展其功能。

(Java)设计一个界面,第一行3个按钮,第二行中间一个文本框,第三行含有...
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class FrameDemo extends JFrame implements ActionListener {JTextField jtf1;JButton jbHello, jbBye;public FrameDemo() {setLayout(new GridLayout(3, 1));\/\/ 3行1列布局JPanel jp1 = new JPanel();\/\/ 第一行J...

Java Swing写一个GUI界面,分成左右两栏?
import java.awt.Color;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JSplitPane;public class DemoFrame extends JFrame {JPanel jp1, jp2;public DemoFrame() {jp1 = new JPanel();jp1.setBackground(Color.RED);jp2 = new JPanel();jp2.setBackground(Color....

为什么java中添加两个按钮到JFrame中只显示后一个?
JFrame.EXIT_ON_CLOSE);jframe.setVisible(true);}public static void main(String[] args) {new P004_BorderLayout();}}BorderLayout 边界布局是JFrame窗口的默认布局 上下左右中,五个方位的布局 FlowLayout 流式布局是JPanel的默认布局 一个靠着一个的布局 ...

JAVA swing怎样让按钮和标签随着窗口的放大而放大,排版不变
建议使用borderlayout 边界布局。非常好用。用边界布局套流布局,表布局就能做出很多界面了 简单的范例,你参考下 public class MyBorderLayout { public static void main(String[] args) { Frame f = new Frame("P03窗口"); f.setLayout(new BorderLayout(30, 5)); f.add(new Button("东...

java创建窗体时,两个文本输入框一个出错铺满了整个窗口,代码如下,请...
JFrame的默认布局管理器是BorderLayout,有五个方向,TOP、LEFT、CENTER、RIGHT、BOTTOM,如果不给控件制定方向的话会都绘制到同一个默认方向CENTER,所以你最后添加的jf2把之前添加的组件都覆盖了,为每个组件指定方向即可。建议使用JPanel,使用FlowLayout。

相似回答