当前位置: 代码迷 >> Eclipse >> 关于Java 基于 swing 图形界面设计 练习的一个有关问题
  详细解决方案

关于Java 基于 swing 图形界面设计 练习的一个有关问题

热度:606   发布时间:2016-04-23 13:52:36.0
关于Java 基于 swing 图形界面设计 练习的一个问题
老师布置的作业是这样要求的:编写一个带有菜单的窗口程序,窗体的大小为400*400,布局为null,在窗体中添加一个文本框txtBox1,添加一个菜单项lbl1,添加一个按钮btnOK,当单击按钮时在控制台显示用户输入txtBox1中的内容,当点击菜单项时在控制台显示“我是菜单项”。

下面是我写的代码,只实现了一部分功能:按button能返回button的名字,在文本框中输入内容,敲回车后,在控制台显示输入内容。但是点击菜单项却没有反应,并且该怎么单击按钮时在控制台显示用户输入txtBox1中的内容呢?

还请大家帮忙看一下。
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class T 
{
public static void main(String args[])
{
JFrame frame=new JFrame();
JTextField text;
JMenuBar mybar;
JButton button;
JMenu menu1;
PoliceStation police1;


police1=new PoliceStation();


frame.setSize(400,400);
frame.setLayout(null);

text=new JTextField("txtBox1");
text.setSize(200,100);
text.setLocation(200,100);
frame.add(text);
text.addActionListener(police1);


button=new JButton("btnOK");
button.addActionListener(police1);
button.setLocation(500, 150);
button.setSize(100, 50);
frame.add(button);

mybar=new JMenuBar();
frame.setJMenuBar(mybar);

menu1=new JMenu("lbl1");
mybar.add(menu1);
menu1.addActionListener(police1);

 
frame.setBounds(100,100,150,150);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
}


class PoliceStation implements ActionListener
{  
public void actionPerformed(ActionEvent e)

String str=e.getActionCommand().toString();
System.out.println(str);
}
}
 









------解决方案--------------------
"但是点击菜单项却没有反应,并且该怎么单击按钮时在控制台显示用户输入txtBox1中的内容呢?"
1、JMenu里面要加上 JMenuItem才行,然后给 JMenuItem添加时间即可
2、点击按钮是 直接之用txtBox1.getText即可获得里面的内容,随便你怎么操作
------解决方案--------------------
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class P {
public static void main(String[] args) {
Window win=new Window();

}
}
class Window extends JFrame implements ActionListener
{


JTextField text;
JMenuBar mybar;
JButton button;
JMenu menu1;
JMenuItem item;
Container content;


Window()
{
content=getContentPane();
content.setLayout(null);
text=new JTextField("txtBox1",18);
text.setBounds(150, 50, 200, 50);
content.add(text);
text.addActionListener(this);

button=new JButton("btnOK");
button.addActionListener(this);
button.setLocation(200, 150);
button.setSize(50,50);
content.add(button);

mybar=new JMenuBar();
setJMenuBar(mybar);

menu1=new JMenu("lbl1");
item=new JMenuItem("开始");
mybar.add(menu1);
menu1.add(item);
item.addActionListener(this);
  
setBounds(400,200,400,400);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}
public void actionPerformed(ActionEvent e)
{

String str=e.getActionCommand();
if(str=="btnOK")
{
System.out.println(text.getText());
}
else if(str=="开始")
{
System.out.println("我是菜单项!");
}
}

}

  相关解决方案