Java新手编码。添加显示消息

时间:2013-03-06 10:54:20

标签: java swing

我是java的新手,我正在尝试创建一个货币转换器。 我做了这个小货币转换器,将美元兑换成欧元和英镑。 当它运行时,它弹出java屏幕,你可以输入你想要转换的美元金额,它会给你欧元/磅的金额。

现在我想首先显示一些Jpannel消息。 我似乎无法弄清楚如何。 我确定它很容易,请原谅我的新手。帮助太棒了

很抱歉,如果我的问题的布局看起来很奇怪。我还不熟悉这个网站。我会改进的。

提前感谢您提供的任何帮助。

到目前为止我已经做到了这一点:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.JOptionPane;

class converter extends JFrame {

    private static final double DOLLAR_PER_EURO = 0.77;
    //private static final double   DOLLAR_PER_POUND = 0.66;

    private JTextField _dollarsTF = new JTextField(3);        
    private JTextField _eurosTF   = new JTextField(3);
    private JTextField _poundsTF = new JTextField(3);

    public converter() {

        JButton convertBtn = new JButton("Convert");
        convertBtn.addActionListener(new ConvertBtnListener());

        _dollarsTF.addActionListener((ActionListener) new ConvertBtnListener());
        _eurosTF.setEditable(false);
        _poundsTF.setEditable(false);

        JPanel content = new JPanel();        
        content.setLayout(new FlowLayout());  

        content.add(new JLabel("Enter amounts of dollars to compare: "));  
        content.add(_dollarsTF);              
        content.add(convertBtn);               
        content.add(new JLabel("Euros: "));
        content.add(_eurosTF);
     //   content.add(new JLabel("English Pounds: "));
     //   content.add(_poundsTF);
        setContentPane(content);       
        pack();                        
        setTitle("Currency converter");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);   
    }

    class ConvertBtnListener implements ActionListener {       
        public void actionPerformed(ActionEvent e) {
            String dyStr = _dollarsTF.getText();          
            int Dollars = Integer.parseInt(dyStr);                 
            double Euros = Dollars * DOLLAR_PER_EURO;
            //double Pounds = Dollars * DOLLAR_PER_POUND;
            _eurosTF.setText("" + Euros);
            // _poundsTF.setText("" + Pounds);
        }
    }

    public static void main(String[] args) {                    
        converter window = new converter();
        window.setVisible(true);
    }
}

1 个答案:

答案 0 :(得分:2)

从你的评论中,我理解你的意思。首先,欢迎使用Stack Overflow,格式问题很好!我很高兴看到你表明你已经付出了努力。

现在在我看来你只想要弹出一个小小的消息。对我来说,编写所有JPanel代码似乎毫无意义,当Swing有一个名为JOptionPane的可爱类来为你做这些事情时。 Here is the documentation

语法非常简单,符合您的要求。

JOptionPane.showMessageDialog("This is your message", parentObject);

这将显示一个小对话框,其中包含您选择的消息。 parentObject字段是显示此对话框的容器。在您的情况下,它是converter类(应该是Converter)。这是因为converter扩展了JFrame。所以你的代码是:

JOptionPane.showMessageDialog("This is your message", this);