GUI 简单提问 顶者有分.
为辅助回答,张贴以下我编写的简易计算器代码,回答问题可不看.
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class SmpCountEquipment2 extends JFrame implements ActionListener {
private TextField Operation1,Operation2,End;
private Button button1,button2,button3,button4;
private Label label1,label2,label3;
SmpCountEquipment2(){
super("简易计算器");
setJLabelJTextFeild();
setJLabelJTextFeild2();
setLayout(new FlowLayout(FlowLayout.LEFT,5,5));
}
public void setJLabelJTextFeild(){
Container c=getContentPane();
JPanel panel1=new JPanel();
label1=new Label(" 操作数");
Operation1=new TextField(20);
label2=new Label(" 操作数");
Operation2=new TextField(20);
label3=new Label(" 结果");
End=new TextField(20);
GridLayout g=new GridLayout(3,3,50,50);
panel1.setLayout(g);
panel1.add( label1);
panel1.add(Operation1);
panel1.add(label2);
panel1.add(Operation2);
panel1.add(label3);
panel1.add( End);
panel1.setSize(100,400);
panel1.setBackground(Color.orange);
c.add(panel1);
}
public void setJLabelJTextFeild2(){
Container a=getContentPane();
JPanel panel2=new JPanel();
button1=new Button("+");
button1.addActionListener(this);
button1.setBounds(0,-78,100,30);
button2=new Button("-");
button2.addActionListener(this);
button2.setBounds(0,-38,100,30);
button3=new Button("*");
button3.addActionListener(this);
button3.setBounds(0,2,100,30);
button4=new Button("/");
button4.addActionListener(this);
button4.setBounds(0,42,100,30);
panel2.setLayout(null);
panel2.add(button1);
panel2.add(button2);
panel2.add(button3);
panel2.add(button4);
a.add(panel2);
}
public void actionPerformed(ActionEvent e){
String n1=Operation1.getText();
String n2=Operation2.getText();
int k1 =Integer.parseInt(n1);
int k2 =Integer.parseInt(n2);
if(e.getActionCommand().equals("+")){
int k3=k1+k2;
String k4=""+k3;
End.setText(k4);
}
if(e.getActionCommand().equals("-")){
int k5=k1-k2;
String k51=""+k5;
End.setText(k51);
}
if(e.getActionCommand().equals("*")){
int k6=k1*k2;
String k61=""+k6;
End.setText(k61);
}
if(e.getActionCommand().equals("/")){
int k7=k1/k2;
String k71=""+k7;
End.setText(k71);
}
}
public static void main(String[] args){
SmpCountEquipment2 jframe=new SmpCountEquipment2();
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setSize(510,220);
jframe.setResizable(false);
jframe.setVisible(true);
}
}
问题:<一>:不取消布局管理器,就不能设置组件大小和方向?(5分)
<二>:在以上代码中我设置了2个面板,框架是FlowLayout布局,为什么2个面板会重合?(2个面板的颜色不一样,故知)(15分)
<三>:如何在框架中添加音乐?具体结合代码说明.(40分)
再次补充:顶者有分!!!!
初学者,感激不尽.