
java 窗口中文本框和按钮会相互覆盖
importjavax.swing.*;importjava.awt.*;importstaticjavax.swing.JFrame.*;publicclassWind...
import javax.swing.*;
import java.awt.*;
import static javax.swing.JFrame.*;
public class Window extends JFrame{
JMenuBar menubar;
JMenu menu;
JMenuItem item;
JTextField text;
JButton but;
public Window(String s,int x,int y,int w,int h){
init(s);
setLocation(x,y);
setSize(w,h);
setVisible(true);
}
void init(String s){
setTitle(s);
menubar = new JMenuBar();
menu = new JMenu("菜单");
item = new JMenuItem("菜单项",new ImageIcon("a.gif"));
menu.add(item);
text = new JTextField("跳梁",10);
text.setHorizontalAlignment(JTextField.CENTER);
but = new JButton("按钮");
add(text);
add(but);
setJMenuBar(menubar);
menubar.add(menu);
}
}
1 展开
import java.awt.*;
import static javax.swing.JFrame.*;
public class Window extends JFrame{
JMenuBar menubar;
JMenu menu;
JMenuItem item;
JTextField text;
JButton but;
public Window(String s,int x,int y,int w,int h){
init(s);
setLocation(x,y);
setSize(w,h);
setVisible(true);
}
void init(String s){
setTitle(s);
menubar = new JMenuBar();
menu = new JMenu("菜单");
item = new JMenuItem("菜单项",new ImageIcon("a.gif"));
menu.add(item);
text = new JTextField("跳梁",10);
text.setHorizontalAlignment(JTextField.CENTER);
but = new JButton("按钮");
add(text);
add(but);
setJMenuBar(menubar);
menubar.add(menu);
}
}
1 展开
展开全部
init方法里添加一行代码
this.setLayout(new FlowLayout());
放到第一行就好了。
this.setLayout(new FlowLayout());
放到第一行就好了。
更多追问追答
追问
很多窗口开始是
import javax.swing.*;
import java.awt.*;
importjava.awt.event.*;
import static javax.swing.JFrame.*;
这里第三行
importjava.awt.event.*;没有被第二行包括吗?
追答
当然。import java.awt.*,表示引入java.awt包下的所有的类,但是不包括java.awt的子包。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java.awt.*包含的是awt包下的所有类文件,而event是awt包下的一个包,所以要用到事件,还必须写import java.awt.event.*
追问
add(but,“SOUTH”)
这个写法正确吗?我书上写的是add(but,SOUTH)
前面还要加一个import语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为JFram的默认布局方式,会将添加在中部的控件自动填满窗口没有被利用的空间
更多追问追答
追问
如何破
追答
设置按钮填充东南西北其他方面的的任意位置,应为你的文本框是在中部的,这样就不会覆盖。
add(but,“SOUTH”)
或者将窗口的布局方式改变,用其他布局方式如:流式布局
将布局方式设置为null,调用组建的setbounds 来设置组建大小和位置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询