首页编程java编程java insets是什么?java中setBorder和setFocusable是什么意思

java insets是什么?java中setBorder和setFocusable是什么意思

编程之家 2023-10-13 78次浏览

大家好,今天小编来为大家解答以下的问题,关于java insets是什么,java中setBorder和setFocusable是什么意思这个很多人还不知道,现在让我们一起来看看吧!

java insets是什么?java中setBorder和setFocusable是什么意思

java jbutton 中setMargin什么意思

public void setMargin(Insets m)设置按钮边框和标签之间的空白。将该空白设置为 null会造成按钮使用默认空白。按钮的默认 Border对象将使用该值来创建适当的空白。不过,如果在按钮上设置非默认边框,则由 Border对象负责创建适当的空白(否则此属性将被忽略)。

参数:

m-边框和标签之间的间隔

java insets是什么?java中setBorder和setFocusable是什么意思

这种问题,你可以通过API去查找。(常查询API很重要)

求简单java写计算器代码加减乘除

import javax.swing.*;

import java.awt.*;

java insets是什么?java中setBorder和setFocusable是什么意思

import java.awt.event.*;

public class Calculator extends JFrame implements ActionListener

{

private boolean dotExist, operated, equaled;//帮助运算的布尔变量

private double storedNumber;//目前的结果

private char lastOperator;//表示上一运算符

private JTextField operation;//结果栏

private JButton dot, plus, minus, multi, div, sqrt, equal, changePN, clear;//运算符

private JButton[] numbers;//数字

//构造者

public Calculator()

{

setTitle("Calculator");

//初始化变量

dotExist= false;//表示当前的数是否有小数点

operated= false;//表示任意运算符是否被按下

equaled= false;//表示等号是否被按下

storedNumber= 0;

lastOperator='?';

//初始化窗口变量

operation= new JTextField("0");

operation.setEditable(false);

numbers= new JButton[10];

for(int i= 0; i< 10; i++)

numbers[i]= new JButton(""+ i);

dot= new JButton(".");

plus= new JButton("+");

minus= new JButton("-");

multi= new JButton("*");

div= new JButton("/");

sqrt= new JButton("√");

equal= new JButton("=");

changePN= new JButton("±");

clear= new JButton("AC");

//将窗口物体放入窗口

GridBagLayout layout= new GridBagLayout();

getContentPane().setLayout(layout);

addComponent(layout, operation, 0, 0, 4, 1);

addComponent(layout, numbers[1], 1, 0, 1, 1);

addComponent(layout, numbers[2], 1, 1, 1, 1);

addComponent(layout, numbers[3], 1, 2, 1, 1);

addComponent(layout, numbers[4], 2, 0, 1, 1);

addComponent(layout, numbers[5], 2, 1, 1, 1);

addComponent(layout, numbers[6], 2, 2, 1, 1);

addComponent(layout, numbers[7], 3, 0, 1, 1);

addComponent(layout, numbers[8], 3, 1, 1, 1);

addComponent(layout, numbers[9], 3, 2, 1, 1);

addComponent(layout, dot, 4, 0, 1, 1);

addComponent(layout, numbers[0], 4, 1, 1, 1);

addComponent(layout, sqrt, 4, 2, 1, 1);

addComponent(layout, plus, 1, 3, 1, 1);

addComponent(layout, minus, 2, 3, 1, 1);

addComponent(layout, multi, 3, 3, 1, 1);

addComponent(layout, div, 4, 3, 1, 1);

addComponent(layout, equal, 5, 0, 2, 1);

addComponent(layout, changePN, 5, 2, 1, 1);

addComponent(layout, clear, 5, 3, 1, 1);

}

//对按钮进行反应的方法

public void actionPerformed(ActionEvent e)

{

JButton btn=(JButton)e.getSource();

if(btn== clear)

{

operation.setText("0");

dotExist= false;

storedNumber= 0;

lastOperator='?';

}

else if(btn== equal)

{

operate('=');

equaled= true;

}

else if(btn== plus)

{

operate('+');

equaled= false;

}

else if(btn== minus)

{

operate('-');

equaled= false;

}

else if(btn== multi)

{

operate('*');

equaled= false;

}

else if(btn== div)

{

operate('/');

equaled= false;

}

else if(btn== changePN)

{

operate('p');

operate('=');

equaled= true;

}

else if(btn== sqrt)

{

operate('s');

operate('=');

equaled= true;

}

else

{

if(equaled)

storedNumber= 0;

for(int i= 0; i< 10; i++)

if(btn== numbers[i])

{

if(operation.getText().equals("0"))

operation.setText(""+ i);

else if(! operated)

operation.setText(operation.getText()+ i);

else

{

operation.setText(""+ i);

operated= false;

}

}

if(btn== dot&&! dotExist)

{

operation.setText(operation.getText()+".");

dotExist= true;

}

}

}

//进行运算的方法

private void operate(char operator)

{

double currentNumber= Double.valueOf(operation.getText()).doubleValue();

if(lastOperator=='?')

storedNumber= currentNumber;

else if(lastOperator=='+')

storedNumber+= currentNumber;

else if(lastOperator=='-')

storedNumber-= currentNumber;

else if(lastOperator=='*')

storedNumber*= currentNumber;

else if(lastOperator=='/')

storedNumber/= currentNumber;

else if(lastOperator=='p')

storedNumber*=-1;

else if(lastOperator=='s')

storedNumber= Math.sqrt(currentNumber);

else if(lastOperator=='='&& equaled)

storedNumber= currentNumber;

operation.setText(""+ storedNumber);

operated= true;

lastOperator= operator;

}

//快捷使用GridBagLayout的方法

private void addComponent(GridBagLayout layout, Component component, int row, int col, int width, int height)

{

GridBagConstraints constraints= new GridBagConstraints();

constraints.fill= GridBagConstraints.BOTH;

constraints.insets= new Insets(10, 2, 10, 2);

constraints.weightx= 100;

constraints.weighty= 100;

constraints.gridx= col;

constraints.gridy= row;

constraints.gridwidth= width;

constraints.gridheight= height;

layout.setConstraints(component, constraints);

if(component instanceof JButton)

((JButton)component).addActionListener(this);

getContentPane().add(component);

}

//主方法初始化并显示窗口

public static void main(String[] args)

{

Calculator calc= new Calculator();

calc.setSize(290, 400);

calc.setVisible(true);

}

}

java中setBorder和setFocusable是什么意思

这两个方法是swing组件的方法,setBorder设置组件的边框,如大小、是否透明、其他特殊效果。setFocusable设置组件是否可被选中,如文本框不允许复制内容,则setFocusable(false),不能被选中,就不可以复制。

setBorder(Border border)设置组件的边框,Border对象负责定义组件的 insets(直接对组件重写所有 insets设置),并且可选地呈现这些 insets

范围内的边框装饰。要为 swing组件创建有装饰的和无装饰的区域(例如边距和填充),应该使用边框(而不是

insets)。在单个组件中可使用复合边框来嵌套多个边框。

setFocusable(boolean focusable)表明此 Component是否可以获得焦点。

如果你还想了解更多这方面的信息,记得收藏关注本站。

java 小数用什么类型?java中小数属于什么类型的数据 精通java后能干什么 学Java以后可以做什么