java - 单击我的按钮 Swing Java 后不显示任何内容

标签 java eclipse windows swing

(小心 SoMania 捕获了我!)所以我的标题不是很好,因为它很难解释我的问题。所以我的问题是在我点击我的应用程序上的按钮之后我删除按钮并清除我的屏幕它需要显示一些文本区域进行一些计算。但是,当我单击按钮并删除所有内容时,我需要最大化或调整窗口大小以使 TextArea 和标 checkout 现。谁能帮帮我?

这是我的代码:

package igrica;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Cijena{
    JButton button;
    JFrame frame;
   JTextField field;
    JPanel panel;
   JLabel label;
   JLabel label2;
   JTextField field2;
   JButton button2;
   JLabel rjesenje2;

public static void main(String [] args) {
    Cijena gui = new Cijena();
    gui.go();
} 

public void go() {
    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {}
    panel = new JPanel();
    rjesenje2 = new JLabel();
    label = new JLabel("Upisite cijenu bez popusta: ");
    label2 = new JLabel("Upisite cijenu s popustom: ");
    field2 = new JTextField(20);
    panel.setBackground(Color.white);
    button2 = new JButton("Izracunaj");
    //panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
    frame = new JFrame("Matematicki programi za apartmane");
    button = new JButton("Razlika u cijeni");
    button.addActionListener(new CijenaListener());
    button2.addActionListener(new ButtonListener());
    field = new JTextField(20);
    field.addActionListener(new TextListener());

    frame.getContentPane().add(BorderLayout.NORTH, button);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(300, 300);
    frame.setVisible(true);
    frame.setLayout(new BorderLayout());
}

class CijenaListener implements ActionListener {
    public void actionPerformed(ActionEvent event) {
        frame.repaint();
        frame.getContentPane().remove(button);
        frame.getContentPane().add(field);
        frame.getContentPane().add(panel);
        //frame.getContentPane().add(label);
        //frame.getContentPane().add(label2);
        //frame.getContentPane().add(field2);
        //TestPane pane = new TestPane();
        //pane.TestPane();
        panel.add(label);
        panel.add(field);
        panel.add(label2);
        panel.add(field2);
        panel.add(button2);
    }
}
class TextListener implements ActionListener {
    public void actionPerformed(ActionEvent event) {
        String text = field.getText();
        field.setText("");
    }
}
class ButtonListener implements ActionListener {
    public void actionPerformed(ActionEvent ev) {
        String input1 = field.getText();
        String input2 = field2.getText();
        field.setText("");
        field2.setText("");
        int number1 = Integer.parseInt(input1);
        int number2 = Integer.parseInt(input2);

        double rjesenje = (double)number2 / number1;
        rjesenje *= 100;
        int r = 100 - (int)rjesenje;
        //System.out.println(number1 + " " + number2);
        String solution = Integer.toString(r);
        rjesenje2.setText(solution + "%");
        panel.add(rjesenje2);
    }
}

class MyDrawPanel extends JPanel {
    public void paintComponent(Graphics g) {
        g.fillRect(0, 0, getWidth(), getHeight());
    }
}

}

最佳答案

actionPerformed 方法结束时调用 frame.revalidate();

关于java - 单击我的按钮 Swing Java 后不显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34582235/

相关文章:

java - android如何处理GUI事件?

java - 从略微偏离的 double 创建正确的 BigDecimals

java - 如何使用 Maven 检查缺少的 @Override 注释

eclipse - Eclipse Jubula教程

c# - 同一语句中的一些粗体和一些简单的词

java - 使用 Google Sheets API 插入行

java - 如何通过 Eclipse 快捷方式 (ctrl + alt + R) 仅显示 (src) 文件而不显示 (target) 文件?

java - Eclipse 插件 : Passing command line arguments

windows - 在windows中的命令行上创建一个空文件(如linux touch命令)

windows - 从批处理文件触发任务栏按钮闪烁?