当您单击它时,用消失的文本制作一个JTextField

时间:2019-04-07 13:45:40

标签: java

我正在为我的计算机科学课程申请计算税费。我只是在开始,所以它没有太多的代码。当用户要在其中输入文本时,我希望JTextField“ nazwa”和“ netto”中的文本消失。我想我做对了,但是没用:( 我不会包括我的整个代码,而是大部分,因为我不知道错误可能在哪里。

我尝试使用MouseEvent而不是FocusEvent,但是它也不起作用。

public class Podatek3 extends JFrame implements ActionListener, MouseListener {

    JButton oblicz;
    JTextField nazwa, netto;
    JTextArea wynik;
    JRadioButton pierwszybutton, drugibutton, trzecibutton;
    static String pierwszy = "8%";
    static String drugi = "12%";
    static String trzeci = "23%";
    static double result;

    Podatek3(){
        super("Aplikacja do obliczania podatku");
        JLayeredPane ekran = new JLayeredPane();
        getContentPane().add(ekran);
        ekran.setPreferredSize(new Dimension(400,300));
        ekran.setBackground(Color.blue);

        nazwa = new JTextField("nazwa produktu");
        ekran.add(nazwa);
        nazwa.setBounds(10, 10, 100, 30);
        nazwa.addFocusListener((FocusListener) this);
        nazwa.setBackground(Color.pink);
        nazwa.setEditable(true);

        netto = new JTextField("cena netto");
        ekran.add(netto);
        netto.setBounds(120, 10, 100, 30);
        netto.addMouseListener(this);
        netto.setBackground(Color.pink);


        pierwszybutton = new JRadioButton(pierwszy);
        ekran.add(pierwszybutton);
        pierwszybutton.setMnemonic(KeyEvent.VK_B);
        pierwszybutton.setActionCommand(pierwszy);


        drugibutton = new JRadioButton(drugi);
        ekran.add(drugibutton);
        drugibutton.setMnemonic(KeyEvent.VK_C);
        drugibutton.setActionCommand(drugi);


        trzecibutton = new JRadioButton(trzeci);
        ekran.add(trzecibutton);
        trzecibutton.setMnemonic(KeyEvent.VK_D);
        trzecibutton.setActionCommand(trzeci);

        ButtonGroup group = new ButtonGroup();
        group.add(pierwszybutton);
        group.add(drugibutton);
        group.add(trzecibutton);

        JPanel radioPanel = new JPanel(new GridLayout(3,1));
        ekran.add(radioPanel);
        radioPanel.setBounds(230, 10, 60, 50);
        radioPanel.add(pierwszybutton);
        radioPanel.add(drugibutton);
        radioPanel.add(trzecibutton);



        oblicz = new JButton("Oblicz");
        ekran.add(oblicz);
        oblicz.setBounds(290, 10, 100, 30);
        oblicz.setBackground(Color.pink);
        oblicz.addActionListener(this);

        wynik = new JTextArea();
        ekran.add(wynik);
        wynik.setBounds(10, 70, 380, 220);
        wynik.setBackground(Color.pink);
        wynik.setEditable(false);   
    }


    public static void main(String[] args) {
        JFrame okno = new Podatek2();
        okno.setVisible(true);
        okno.setDefaultCloseOperation(EXIT_ON_CLOSE);
        okno.setLocationRelativeTo(null);
        okno.pack();

    }

    public void actionPerformed1(ActionEvent e) {



    }

    public void mouseClicked2(MouseEvent arg0) {
        Object klik = arg0.getSource();
        if (klik == nazwa) {
        nazwa.setText("");
        }

        }
    public void mouseClicked3(MouseEvent arg1) {
        Object klik1 = arg1.getSource();
        if (klik1 == netto) {
            netto.setText("");
        }
    }

0 个答案:

没有答案