奇了怪了,我下了各程序java的,在eclipse上运行了以遍,结果怎么改程序,界面都不会发生变化(就是说我去掉那些add(compoent)的语句,但是界面还是会又相应组件!!!计算器的界面程序import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*; public class Jj extends JFrame implements ActionListener 
 {
     
     char[] buttonLabels = {'7', '8', '9', '+', '4', '5', '6', '-', '1', '2', '3', '*', '0', '.', '=', '/'};
     JTextField output;
     
     public Jj() {
         super("计算器");
         
         JPanel main = new JPanel() { public Insets getInsets() { return new Insets(4, 4, 4, 4); } };
         main.setLayout(new BorderLayout(4, 4));
         
         // 上半部分
         JPanel top = new JPanel();
         top.setLayout(new BorderLayout(4, 4));
         output = new JTextField();
         output.setHorizontalAlignment(JTextField.RIGHT);
         JButton clear = new JButton("C");
         clear.addActionListener(this);
         top.add(output, BorderLayout.CENTER);
         top.add(clear, BorderLayout.EAST);
         main.add(top, BorderLayout.NORTH);
         
         // 下半部分
         JPanel bottom = new JPanel();
         bottom.setLayout(new GridLayout(4, 4, 4, 4));
         for (int i=0; i<buttonLabels.length; i++) {
             JButton btn = new JButton(Character.toString(buttonLabels[i]));
             btn.addActionListener(this);
             bottom.add(btn);
         }
         main.add(bottom, BorderLayout.CENTER);
         
         setContentPane(main);
         pack();
         setResizable(false);
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     }
     
     public void actionPerformed(ActionEvent e) {
         char c = ((JButton)e.getSource()).getText().charAt(0);
         if (c == 'C') output.setText("");
         else output.setText(output.getText() + c);
     }
     
     public static void main(String[] args) {
         new Calculator().setVisible(true);
     }
 }
并且更奇怪的是,界面上有些东西程序里面根本就没写出来,但是界面上还是有,for循环里面对应的数组按钮也和界面错位!!!,我发张图片大家,以看就知道了,我都重新加载几遍了还这样,是不是eclipse有什么隐含操作还是程序里面隐含了什么啊(反正我是没看出来)
 

解决方案 »

  1.   

    你的Calculator这个类呢?你改的是Jj这个类吧.你看main()方法里 new   Calculator().setVisible(true); 还有你贴图片怎么把你的硬盘路径写上去,这样怎么会显示图片呢?你要把图片上传的.
      

  2.   

    因为我的ECLIPSE里面原来有个Calculation的类,我又下了一个,结果它们恰巧同名,我只好将我下的那各改成了Jj,然后我试着,改动这各界面,就将一些,add()语句去掉,结果发现怎么显示都还是原来那样,最后索性把中间的语句全注释掉了,还是不行,改动不了,难道是我对这各程序run的时候是run的其他程序,可是我明明是对着它点run的.
      

  3.   

    啊!!!!!!!!!!!,真的,哎,太大意了,谢谢了!真的很感谢了你,我坐着看了半天都没看出来,心情不知道有多烦恼!,现在好多了,谢谢了!!!!!另外我想问一下那各textfield里面怎么才能实现右对齐啊,就是从右边开始输入,谢谢了!
      

  4.   

    你把这句output.setHorizontalAlignment(JTextField.RIGHT); 注释掉就可以了.
      

  5.   

    Dan1980这是我下的,呵呵,好象是从你那下的,我只是是说了下载的,没有注明来源,不好意思啊!