Я попытался использовать setSize(), но не работал. то я также использовал setPreferredSize (новое измерение (x, y)). Да, он работает, но он изменяет размер всех компонентов в этой панели (oPanel). Я просто хочу изменить размер btnPlus.Как установить размер какой-либо конкретной компоненты JButton (в данном случае btnPlus)?
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class MyCalc {
public static void main(String[] args) {
JFrame main= new JFrame();
JPanel bPanel= new JPanel();
JPanel oPanel= new JPanel();
JPanel Txt= new JPanel();
JPanel Panel=new JPanel();
JButton btn0= new JButton("0");
JButton btn1= new JButton("1");
JButton btn2= new JButton("2");
JButton btn3= new JButton("3");
JButton btn4= new JButton("4");
JButton btn5= new JButton("5");
JButton btn6= new JButton("6");
JButton btn7= new JButton("7");
JButton btn8= new JButton("8");
JButton btn9= new JButton("9");
JButton btnDot= new JButton(".");
JButton btnPlus= new JButton("+");
JButton btnMinus= new JButton("-");
JButton btnEquals= new JButton("=");
//JTextField tf= new JTextField();
JTextArea ta= new JTextArea();
ta.setColumns(20);
ta.setRows(3);
//ta.setViewPortView()
main.setLayout(new BorderLayout(20,20));
Txt.setLayout(new BorderLayout());
//Txt.add(tf,BorderLayout.NORTH);
Txt.add(ta,BorderLayout.SOUTH);
bPanel.setLayout(new GridLayout(4,3,5,5));
bPanel.add(btn0);
bPanel.add(btn1);
bPanel.add(btn2);
bPanel.add(btn3);
bPanel.add(btn4);
bPanel.add(btn5);
bPanel.add(btn6);
bPanel.add(btn7);
bPanel.add(btn8);
bPanel.add(btn9);
bPanel.add(btnDot);
oPanel.setLayout(new GridLayout(3,1,5,5));
//oPanel.setMaximumSize(new Dimension(400,400));
oPanel.add(btnPlus);
oPanel.add(btnMinus);
oPanel.add(btnEquals);
btnPlus.setPreferredSize(new Dimension(50,100));
btnMinus.setPreferredSize(new Dimension(25,25));
btnPlus.setPreferredSize(new Dimension(50,100));
Panel.setLayout(new FlowLayout());
Panel.add(bPanel);
Panel.add(oPanel);
//main.getContentPane().add(bPanel,BorderLayout.LINE_START);
//main.getContentPane().add(oPanel, BorderLayout.LINE_END);
main.getContentPane().add(Panel,BorderLayout.CENTER);
main.getContentPane().add(Txt, BorderLayout.PAGE_START);
main.setSize(300, 300);
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
main.setVisible(true);
}
}
* «Как я могу установить размер какой-то конкретный компонент JButton (в данном случае btnPlus)?» * Лучше не , Вместо этого дайте ему значок, размер шрифта и маржу, чтобы предложить размер. –