Hello. Please do not kick much. Began to learn Java. And now I got to the layout schemes. With GridLayout, BorderLayout sort of figured out and everything works for me. But with BoxLayout something does not work. The IDE itself does not give any errors, and when starting the project it gives an error:

Exception in thread "main" java.lang.UnsupportedOperationException: Not supported yet. at calculator.Calculator.setLayout(Calculator.java:11) at calculator.Calculator.<init>(Calculator.java:57) at calculator.Calculator.main(Calculator.java:86) Java Result: 1 

Here is the text of the program:

package calculator;

import javax.swing. *; import java.awt.BorderLayout; import javax.swing.BoxLayout;

public class Calculator {

 private void setLayout(BoxLayout boxLayout) { throw new UnsupportedOperationException("Not supported yet."); } JButton button1; JButton button2; JButton button3; JButton button4; JButton button5; JButton button6; JButton button7; JButton button8; JButton button9; JButton button0; JButton buttonPoint; JButton buttonEqual; JPanel windowContent; JTextField displayField; JPanel p1; Calculator() { windowContent = new JPanel(); BorderLayout b1 = new BorderLayout(); windowContent.setLayout(b1); displayField = new JTextField(30); windowContent.add("North", displayField); button1 = new JButton("1"); button2 = new JButton("2"); button3 = new JButton("3"); button4 = new JButton("4"); button5 = new JButton("5"); button6 = new JButton("6"); button7 = new JButton("7"); button8 = new JButton("8"); button9 = new JButton("9"); button0 = new JButton("0"); buttonPoint = new JButton("."); buttonEqual = new JButton("="); JPanel p1 = new JPanel(); setLayout(new BoxLayout(p1, BoxLayout.Y_AXIS)); p1.add(button1); p1.add(button2); p1.add(button3); p1.add(button4); p1.add(button5); p1.add(button6); p1.add(button7); p1.add(button8); p1.add(button9); p1.add(button0); p1.add(buttonPoint); p1.add(buttonEqual); windowContent.add("Center", p1); JFrame frame = new JFrame("Калькулятор"); frame.setContentPane(windowContent); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { Calculator calc = new Calculator(); } 

}

    1 answer 1

    You have defined a method whose only action is to throw an error:

     private void setLayout(BoxLayout boxLayout) { throw new UnsupportedOperationException("Not supported yet."); } 

    and call it:

     setLayout(new BoxLayout(p1, BoxLayout.Y_AXIS)); 

    To get rid of this error, just comment out the call:

     //throw new UnsupportedOperationException("Not supported yet."); 
    • Thank. It helped. And if it's not difficult, you can tell why it swears at the string p1.add (button1) ;? - kirasirrr
    • @kirasirrr How curses? Add error data to your question. - MockerTim
    • Thanks for the help. I have already figured out. - kirasirrr