barriers / 阅读 / 详情

拜求java小程序每行解释及功能实现(急)

2023-07-24 10:07:53
TAG: ava ja java
共3条回复
阿啵呲嘚

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.GridLayout;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

/**

* 计算器的界面

*/

public class JiSuan extends JFrame {

/** 版本信息ID */

private static final long serialVersionUID = 1L;

/** 界面上按键的数字 */

private final String[] NUMBER = { "9", "8", "7", "6", "5", "4", "3", "2",

"1", "0", "+/-", "." };

/** 界面行的运算符号 */

private final String[] KEYS = { "/", "sqrt", "*", "%", "-", "1/x", "+", "=" };

/** 界面行的其他命令 */

private final String[] COMMAND = { "Backspace", "CE", "C" };

/** 界面行的存储命令名 */

private final String[] M = { " ", "MC", "MR", "MS", "M+" };

/** 数字按钮 */

private JButton number[] = new JButton[NUMBER.length];

/** 运算符按钮 */

private JButton keys[] = new JButton[KEYS.length];

/** 其他指令按钮 */

private JButton command[] = new JButton[COMMAND.length];

/** 存储功能按钮 */

private JButton m[] = new JButton[M.length];

/** 文本框,用于模拟计算器的显示屏 */

private JTextField jt = new JTextField("0");

/**

* 构造函数

*/

public JiSuan() {

Container container = getContentPane();// 获取显示容器

container.setLayout(new BorderLayout());// 设置容器的布局管理器

JPanel p1 = new JPanel();// 创建数字按钮面板

p1.setLayout(new GridLayout(4, 3));// 设置面板的布局管理器为GridLayout

// 循环添加数字按钮

for (int i = 0; i < NUMBER.length; i++) {

number[i] = new JButton(NUMBER[i]);//创建一个按钮

p1.add(number[i]);//将按钮添加到面板上

}

JPanel p2 = new JPanel(new BorderLayout());// 创建运算符按钮面板

p2.setLayout(new GridLayout(4, 2));// 设置面板的布局管理器为GridLayout

// 循环添加运算符按钮

for (int i = 0; i < KEYS.length; i++) {

keys[i] = new JButton(KEYS[i]);//创建一个按钮

p2.add(keys[i]);//将按钮添加到面板上

}

JPanel p3 = new JPanel(new BorderLayout());// 创建存储功能按钮面板

p3.setLayout(new GridLayout(4, 1));// 设置面板的布局管理器为GridLayout

// 循环添加存储功能按钮

for (int i = 0; i < M.length; i++) {

m[i] = new JButton(M[i]);//创建一个按钮

p3.add(m[i]);//将按钮添加到面板上

}

JPanel p4 = new JPanel(new BorderLayout());// 创建一个总的面板,将前面创建的3个面板加入到其中

p4.add(p3, BorderLayout.WEST);//加入存储功能按钮面板,在左边

p4.add(p1, BorderLayout.CENTER);//加入数字按钮面板,在中间

p4.add(p2, BorderLayout.EAST);//加入运算符按钮面板,在右边

JPanel p5 = new JPanel(new BorderLayout());// 创建其他功能按钮面板

p5.setLayout(new GridLayout(1, 3));// 设置面板的布局管理器为GridLayout

// 循环添加其他功能按钮

for (int i = 0; i < COMMAND.length; i++) {

command[i] = new JButton(COMMAND[i]);//创建一个按钮

p5.add(command[i]);//将按钮添加到面板上

}

JPanel p6 = new JPanel(new BorderLayout());// 创建一个总的面板,将前面创建的2个面板和用做屏幕的文本框加入到其中

p6.add(jt, BorderLayout.NORTH);// 加入文本框,在上面

p6.add(p5, BorderLayout.CENTER);//加入其他功能按钮面板,在中间

p6.add(p4, BorderLayout.SOUTH);// 加入上面创建的按钮总面板,在下面

container.add(p6, BorderLayout.EAST);//将完整的计算器界面加入显示容器中

container.add(new JButton("开发中..."), BorderLayout.CENTER);// 在显示容器中添加一个按钮,按钮文字为开发中...

}

/**

* 主函数入口

*

* @param args

*/

public static void main(String[] args) {

JiSuan ji = new JiSuan();// 创建一个计算器界面

ji.setTitle("窗口布局");// 设置TItle

ji.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置默认的关闭动作

ji.setSize(400, 200);// 设置计算器窗口的尺寸

ji.setVisible(true);// 将计算器界面显示出来

}

}

豆豆staR

import java.awt.*;

import java.awt.event.*;

import java.math.*;

import javax.swing.*;

/**

* @author wangjun

*

*/

public class JTest extends JFrame {

/**

* 定义按扭窗口

*/

ResultStr resultStr; // 显示框 继承JPanel

NumButtons numButtons; // 按钮面板 继承JPanel

MopButs mopButs;

// JButton butCE = new JButton("CE"); //ce按钮

CEB ceb;

// 当点击按钮+、-、*、/ = 时,isE = true

boolean isE = false;

// 当i=0时说明是我们第一次输入,显示内容为 0 根据输入的情况设置显示内容

int i = 0;

// 存放显示的内容

String text = "";

// 存放点击运算符按钮之前的数值

double defbutton = 0;

// 运算符

String op = "";

// 上一次的按键

String lastKey = null;

private void myInit() {

resultStr = new ResultStr(); // 显示框对象

numButtons = new NumButtons();// 按钮面板对象

ceb = new CEB();// 特殊按钮面板对象 CE Backspace

mopButs = new MopButs();

JPanel panel = new JPanel();

panel.setLayout(new BorderLayout());

panel.add(mopButs, BorderLayout.WEST);

panel.add(resultStr, BorderLayout.NORTH);

panel.add(ceb, BorderLayout.SOUTH);

panel.add(numButtons, BorderLayout.CENTER);

setBounds(200, 200, 350, 220);

// 关闭时 退出程序

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setContentPane(panel);

// 按钮 0-9 & . 添加监听器 数字按钮监听器

numButtons.button0.addActionListener(numberLister);

numButtons.button1.addActionListener(numberLister);

numButtons.button2.addActionListener(numberLister);

numButtons.button3.addActionListener(numberLister);

numButtons.button4.addActionListener(numberLister);

numButtons.button5.addActionListener(numberLister);

numButtons.button6.addActionListener(numberLister);

numButtons.button7.addActionListener(numberLister);

numButtons.button8.addActionListener(numberLister);

numButtons.button9.addActionListener(numberLister);

numButtons.buttonpoint.addActionListener(numberLister);

// 按钮 +-*/= 添加监听器 运算符按钮监听器

numButtons.buttonA.addActionListener(opLister);

numButtons.buttonB.addActionListener(opLister);

numButtons.buttonC.addActionListener(opLister);

numButtons.buttonD.addActionListener(opLister);

numButtons.buttonE.addActionListener(opLister);

// 按钮 sqrt % 1/x +/- CE 添加特殊按钮监听器

numButtons.butS.addActionListener(teOpLister);

numButtons.but5S.addActionListener(teOpLister);

numButtons.butDS.addActionListener(teOpLister);

numButtons.butFS.addActionListener(teOpLister);

ceb.butCE.addActionListener(teOpLister);

ceb.butBp.addActionListener(bp);

}

// 构造器

public JTest(String name) {

super(name);

myInit();

}

// 数字按扭监听器

ActionListener numberLister = new ActionListener() {

public void actionPerformed(ActionEvent event) {

JButton b = (JButton) event.getSource();

// 按下 1 2 3 4 5 6 7 8 9 时的情况

if (b.getText() != "0" && b.getText() != ".") {

if (isE == true || i == 0) {

resultStr.rsStr.setText(b.getText());

} else {

text = resultStr.rsStr.getText();

if (Float.parseFloat(text) == 0) {

if (text.indexOf(".") != -1) {

resultStr.rsStr.setText(text + b.getText());

} else {

resultStr.rsStr.setText(b.getText());

}

} else {

resultStr.rsStr.setText(text + b.getText());

}

}

isE = false;

i = 1;

}

// 0 的情况

if (b.getText() == "0") {

if (isE == true || i == 0) {

resultStr.rsStr.setText(b.getText());

isE = false;

i = 1;

} else {

/*

* 判断条件如果text中的数值=0保持不变 不等于 0

* 判断在这个数值中是否有.存在?如果有那么就在原来数值基础之上添 加0;否则保持原来的数值不变

*/

text = resultStr.rsStr.getText();

if (Float.parseFloat(text) != 0) {

resultStr.rsStr.setText(text + "0");

} else {

if (text.trim().indexOf(".") == -1) {

resultStr.rsStr.setText(text);

} else {

resultStr.rsStr.setText(text + "0");

}

}

}

}

// . 的情况

if (b.getText() == ".") {

if (isE == true || i == 0) {

resultStr.rsStr.setText("0.");

isE = false;

i = 1;

} else {

text = resultStr.rsStr.getText();

if (text.trim().indexOf(".") == -1) {

resultStr.rsStr.setText(text + ".");

} else {

resultStr.rsStr.setText(text);

}

}

isE = false;

i = 1;

}

lastKey = b.getText();

}

};

// + - * / = 按扭监听器

ActionListener opLister = new ActionListener() {

public void actionPerformed(ActionEvent event) {

JButton b = (JButton) event.getSource();

if (lastKey != "+" && lastKey != "-" && lastKey != "*"

&& lastKey != "/") {

// 如果lastKey 不是运算符 做相应的运算 否则不变

if (b.getText() != "=") {

if (op != "") {

getRsStr(true); // 计算结果 true 为不是按 = 计算

} else {

defbutton = Double.parseDouble(resultStr.rsStr

.getText());

}

isE = true;

i = 0;

} else {

getRsStr(false); // 计算结果 false 为按 = 计算

}

}

// 最后记录相应的信息

op = b.getText();

lastKey = b.getText();

defbutton = Double.parseDouble(resultStr.rsStr.getText());

}

};

// 计算结果 当按下+ - * / 计算时参数是true 否则为 false

public void getRsStr(boolean bl) {

if (op != "") {

Double d = Double.parseDouble(resultStr.rsStr.getText());

if (op == "+") {

resultStr.rsStr.setText(String.valueOf(defbutton + d));

}

if (op == "-") {

resultStr.rsStr.setText(String.valueOf(defbutton - d));

}

if (op == "*") {

resultStr.rsStr.setText(String.valueOf(defbutton * d));

}

if (op == "/") {

resultStr.rsStr.setText(String.valueOf(defbutton / d));

}

if (bl == false) { // 按钮 = 计算后 清空 否则不用清空

i = 0;

text = "";

}

}

}

// sqrt % 1/x +/- 按扭监听器

ActionListener teOpLister = new ActionListener() {

public void actionPerformed(ActionEvent event) {

JButton b = (JButton) event.getSource();

try {

defbutton = Double.parseDouble(resultStr.rsStr.getText());

if (b.getText() == "sqrt") {

resultStr.rsStr.setText(String

.valueOf(Math.sqrt(defbutton)));

}

if (b.getText() == "%") {

// 未计算

// resultStr.rsStr.setText(String.valueOf(defbutton*100));

}

if (b.getText() == "1/x") {

resultStr.rsStr.setText(String.valueOf(1 / defbutton));

}

if (b.getText() == "+/-") {

resultStr.rsStr.setText(String.valueOf(-defbutton));

}

if (b.getText() == "C") {

resultStr.rsStr.setText("0");

}

} catch (NumberFormatException e) {

// TODO Auto-generated catch block

resultStr.rsStr.setText("0");

e.printStackTrace();

}

i = 0;

text = "";

op = "";

defbutton = 0.0;

lastKey = b.getText();

}

};

// Backspace 监听器

ActionListener bp = new ActionListener() {

public void actionPerformed(ActionEvent event) {

// 保存显示内容

String str = resultStr.rsStr.getText();

if (str.length() > 1) {

// 显示内容的长度大于1时 去掉最后一位

str = str.substring(0, str.length() - 1);

resultStr.rsStr.setText(str);

// 去掉后如果 最后一位是 . 也去掉

if (resultStr.rsStr.getText().indexOf(".") == resultStr.rsStr

.getText().length() - 1) {

resultStr.rsStr.setText(resultStr.rsStr.getText()

.substring(0,

resultStr.rsStr.getText().length() - 1));

}

}

// 否则显示为 0

else {

str = "0";

resultStr.rsStr.setText(str);

}

lastKey = "Backspace";

}

};

public static void main(String[] args) {

// TODO Auto-generated method stub

JTest m = new JTest("计算器");

m.setVisible(true);

}

}

class ResultStr extends JPanel {

JTextField rsStr = new JTextField("0");

ResultStr() {

rsStr.setHorizontalAlignment(SwingConstants.RIGHT);

rsStr.enable(false);

// rsStr.setFont();

setLayout(new BorderLayout());

add(rsStr, BorderLayout.CENTER);

}

}

class NumButtons extends JPanel {

JButton button1 = new JButton("1");

JButton button2 = new JButton("2");

JButton button3 = new JButton("3");

JButton button4 = new JButton("4");

JButton button5 = new JButton("5");

JButton button6 = new JButton("6");

JButton button7 = new JButton("7");

JButton button8 = new JButton("8");

JButton button9 = new JButton("9");

JButton button0 = new JButton("0");

JButton buttonpoint = new JButton(".");

JButton buttonA = new JButton("+");

JButton buttonB = new JButton("-");

JButton buttonC = new JButton("*");

JButton buttonD = new JButton("/");

JButton buttonE = new JButton("=");

JButton butS = new JButton("sqrt");

JButton but5S = new JButton("%");

JButton butDS = new JButton("1/x");

JButton butFS = new JButton("+/-");

NumButtons() {

setLayout(new GridLayout(4, 5));

add(button1);

add(button2);

add(button3);

add(buttonA);

add(butS);

add(button4);

add(button5);

add(button6);

add(buttonB);

add(but5S);

add(button7);

add(button8);

add(button9);

add(buttonC);

add(butDS);

add(button0);

add(buttonpoint);

add(buttonD);

add(buttonE);

add(butFS);

}

}

class CEB extends JPanel {

JButton butCE = new JButton("C");

JButton butBp = new JButton("Backspace");

CEB() {

setLayout(new GridLayout(1, 2));

add(butCE);

add(butBp);

}

}

class MopButs extends JPanel {

JButton mAdd = new JButton("M+");

JButton mC = new JButton("MC");

JButton mR = new JButton("MR");

JButton mS = new JButton("MS");

MopButs() {

setLayout(new GridLayout(4, 1));

add(mC);

add(mR);

add(mS);

add(mAdd);

}

}

看我的吧 我的功能都实现了 我进单位第一天早上的任务 呵呵

S笔记

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.GridLayout;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class JiSuan extends JFrame {

/**

*

*/

private static final long serialVersionUID = 1L;

private final String[] NUMBER = { "9", "8", "7", "6", "5", "4", "3", "2",

"1", "0", "+/-", "." }; /*把这些数放到NUMBER里*/

private final String[] KEYS = { "/", "sqrt", "*", "%", "-", "1/x", "+", "=" };

/*把这些放到KEYS里*/

private final String[] COMMAND = { "Backspace", "CE", "C" };

/*把这些放到COMMAND里*/

private final String[] M = { " ", "MC", "MR", "MS", "M+" };

/*把这些放到M里*/

private JButton number[] = new JButton[NUMBER.length];

/*建立一个命令控件*/

private JButton keys[] = new JButton[KEYS.length];

/*建立一个命令控件*/

private JButton command[] = new JButton[COMMAND.length];

/*建立一个命令控件*/

private JButton m[] = new JButton[M.length];

/*建立一个命令控件*/

private JTextField jt = new JTextField("0");

/*建立一个文本框*/

public JiSuan() {

Container container = getContentPane(); /*初始化一个容器,用来在容器上添加一些控件*/

container.setLayout(new BorderLayout());/* 自定义布局*/

JPanel p1 = new JPanel();

p1.setLayout(new GridLayout(4, 3)); /*新建设置布局管理器,*/

for (int i = 0; i < NUMBER.length; i++) {

number[i] = new JButton(NUMBER[i]);/*循环到NUMBER数组里个数的次数*/

p1.add(number[i]); //在容器上添加控件..

}

JPanel p2 = new JPanel(new BorderLayout());

p2.setLayout(new GridLayout(4, 2));

for (int i = 0; i < KEYS.length; i++) { /*循环到KEYS数组里个数的次数*/

keys[i] = new JButton(KEYS[i]);

p2.add(keys[i]); //在容器上添加控件..

}

JPanel p3 = new JPanel(new BorderLayout());

p3.setLayout(new GridLayout(4, 1));

for (int i = 0; i < M.length; i++) { /*循环到M数组里个数的次数*/

m[i] = new JButton(M[i]);

p3.add(m[i]); //在容器上添加控件..

}

JPanel p4 = new JPanel(new BorderLayout());

p4.add(p3, BorderLayout.WEST); /*宽度*/

p4.add(p1, BorderLayout.CENTER);

p4.add(p2, BorderLayout.EAST);

JPanel p5 = new JPanel(new BorderLayout());

p5.setLayout(new GridLayout(1, 3));

for (int i = 0; i < COMMAND.length; i++) { /*循环到COMMAND数组里个数的次数*/

command[i] = new JButton(COMMAND[i]);

p5.add(command[i]); //在容器上添加控件..

}

JPanel p6 = new JPanel(new BorderLayout());

p6.add(jt, BorderLayout.NORTH);

p6.add(p5, BorderLayout.CENTER);

p6.add(p4, BorderLayout.SOUTH);

container.add(p6, BorderLayout.EAST);

container.add(new JButton("开发中..."), BorderLayout.CENTER);

}

public static void main(String[] args) {

JiSuan ji = new JiSuan(); /*窗体的一些基本的设置*/

ji.setTitle("窗口布局");

ji.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

ji.setSize(400, 200);

ji.setVisible(true);

}

}

相关推荐

JFrame和JPanel的默认布局管理器是什么

对于JFrame和JWindow这样的顶层框架来说,默认的布局管理器是边界布局(BorderLayout);JPanel默认的布局管理器为FlowLayout。
2023-07-24 05:56:013

JAVA中,BorderLayout布局管理器是如何安排组件的?

1、程序继承JFrame后,默认的布局管理就是BorderLayout2、分为五个部分,NORTHB、SOUTH、EAST、WEST、CENTER,但不是五个部分都是必须添加的3、中部的组件也就(CENTER),会自动调节大小4、使用add(jbutton,BorderLayout.CENTER)方法添加
2023-07-24 05:56:551

java中BorderLayout.WEST等方位无法解析,怎么回事?

郑州市到抗曰英雄
2023-07-24 05:57:032

BorderLayout布局中能改变组件大小么!该怎么处理

public void setBounds(int x, int y, int width, int height)移动组件并调整其大小。由 x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。 ------解决方案-------------------------------------------------------- Layout是可以叠加的 比如你设置了BorderLayout 然后可以把一个JPanel放到BorderLayout.CENTER 然后设置这个JPanel的Layout为其他的 再在这个JPanel上添加component,这时候的JPanel会完全占据BorderLayout的CENTER位置 但是你添加的component会使用JPanel使用的Layout java的Layout非常灵活好用,搭配起来使用很方便的通常不建议使用绝对位置来布局,那样在尺寸变化时会变得很糟糕
2023-07-24 05:57:101

java编写一个BorderLayoutTest类,测试BorderLayout布局

需要的话,留个邮箱,发给你。
2023-07-24 05:57:301

FlowLayout,BorderLayout ,GridLayout ,CardLayout,GridBagLayout ,null ,BoxLayout布局的特点各是什么?

FlowLayout:流布局用于安排有向流中的组件,这非常类似于段落中的文本行。流布局一般用来安排面板中的按钮。它使得按钮呈水平放置,直到同一条线上再也没有适合的按钮。线的对齐方式由 align 属性确定。可能的值为: LEFT - 此值指示每一行组件都应该是左对齐的RIGHT - 此值指示每一行组件都应该是右对齐的CENTER - 此值指示每一行组件都应该是居中的LEADING - 此值指示每一行组件都应该与容器方向的开始边对齐TRAILING - 此值指示每行组件都应该与容器方向的结束边对齐BorderLayout :这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件,并通过相应的常量进行标识:NORTH、SOUTH、EAST、WEST、CENTER。CardLayout :它将容器中的每个组件看作一张卡片。一次只能看到一张卡片,容器则充当卡片的堆栈。当容器第一次显示时,第一个添加到 CardLayout 对象的组件为可见组件。卡片的顺序由组件对象本身在容器内部的顺序决定。GridBagLayout :它是一个灵活的布局管理器,它不要求组件的大小相同便可以将组件垂直、水平或沿它们的基线对齐。每个 GridBagLayout 对象维持一个动态的矩形单元网格,每个组件占用一个或多个这样的单元,该单元被称为显示区域。null:当布局设置为null时,可使用java.awt.Window 提供的public void setBounds(int x, int y, int width, int height)移动组件并调整其大小。由 x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。 如果 width 值或 height 值小于之前调用 setMinimumSize 指定的最小大小,则它的值将自动增加。 覆盖:类 Component 中的 setBounds参数:x - 组件的新 x 坐标y - 组件的新 y 坐标width - 组件的新 widthheight - 组件的新 heightBoxLayout:允许垂直或水平布置多个组件的布局管理器。这些组件将不包装,因此举例来说,垂直排列的组件在重新调整框架的大小时仍然被垂直排列。 建议你可以多翻一下java 帮助!
2023-07-24 05:57:441

Java中BorderLayout布局发中,中间如何放下两个标签组件?

将两个标签放入一个JPanel(或其它类型的面板)中,再将这个JPanel(或其它类型的面板)放入中间。实例代码如下:JLabel l1=new JLabel("标签1");JLabel l2=new JLabel("标签2");JPanel p=new JPanel();p.add(l1);p.add(l2);this.add(p,BorderLayout.CENTER);
2023-07-24 05:57:511

java 边界布局 流式布局是什么

BorderLayoutFlowLayout
2023-07-24 05:57:581

java新手,为什么我的borderlayout布局一点效果都没有????

.没看的你代码 不过关于 gui的话 你根本不需要纠结这个 下载一个NetBeans gui都是可视化编程 把组件直接往里拖就行了...........
2023-07-24 05:58:062

BorderLayout.PAGE_START用法

BorderLayout 支持相对定位常量 PAGE_START、PAGE_END、LINE_START 和 LINE_END。在 ComponentOrientation 设置为 ComponentOrientation.LEFT_TO_RIGHT 的容器中,这些常量分别映射到 NORTH、SOUTH、WEST 和 EAST
2023-07-24 05:58:251

java在borderlayout中怎么改变按钮位置

再放容器,再容器里面可以用无Layout绝对定位
2023-07-24 05:58:332

java。f.add(p,BorderLayout.North)什么意思,书本解释看不懂

Frame对象f调用方法add(,);这个方法需要两个参数,一个是panel类型,一个是borderlayout类型
2023-07-24 05:58:412

ECLIPSE中BorderLayout为什么不能使用

因为你的类名就是BorderLayout ,冲突了,小样儿
2023-07-24 05:58:491

java BorderLayout四周的空隙怎样去掉?

换成JFrame的getContentPane();不行么,为什么非要自己加一个Panel呢
2023-07-24 05:58:593

Java制作一个用户登录的窗口

Java用户登陆这块,主要还是类:1,边界布局:BorderLayout。他主要分为五个布局,是JFrame(顶层容器),JDialog(创建对话框窗口的类)的默认布局方式。其最多容量为5个组件,超出5个得用其他的。设置方式为:BorderLayout.NORTH;BorderLayout.SOUTH;BorderLayout.CENTER;Borderlayout.CENTER;BorderLayout.LEFT;BorderLayout.RIGHT。2,流式布局:FlowLayout。布局方式为从左到右,从上到下。是JPanel(轻量级容器)的默认面板布局。3,网格布局:GridLayout。布局方式为行和列组成的网络。布局方法:setLayout(new GridLayout(3,2,3,3));其中强两位数字表示三行两列,后两位表示行与行的间距为3,列与列的间距为3.接着,就接触到JPanel面板。JPanel是非顶层容器,所以,一个界面只能由一个JFrame,但是可以有多个JPanel组件。其默认布局方式为流式布局。在JPanel这块,学到了用户登录界面的设计。从而接触到另外三个组件:文本框组件:JTextField;密码框组件:JPasswordField;标签组件:JLabel;复选框组件:JCheckBox;单选框组件:JRadioButton;按钮组件JButton。
2023-07-24 05:59:081

在java中用BorderLayout布局的时候为什么编译不能通过,后面的SOUTH等代码总是报错,不知道怎么回事?

BorderLayout.SOUTHBorderLayout.NORTH
2023-07-24 05:59:162

Java 怎么在一个控件上添加另一个控件啊? 比如在GridLayout上添加BorderLayout??

GridLayout和BorderLayout都是布局管理器。不能直接就add。如果你真的想add的话,先让其中一个控件add一个面板,让这个面板的布局管理器为另一个控件
2023-07-24 05:59:245

JPanel panel=new JPanel(new BorderLayout())中的new BorderLayout()是什么意思啊?

BorderLayout好像是布局就是初始化panel面板的布局
2023-07-24 05:59:393

new Borderlayout(10,1) 参数是什么意思?

public BorderLayout(int hgap,int vgap)构造一个具有指定组件间距的边框布局。水平间距由 hgap 指定,垂直间距由 vgap 指定。 参数:hgap - 水平间距。vgap - 垂直间距。
2023-07-24 06:00:041

java swing中frame.add(this, BorderLayout.CENTER);是什么意思?

JFrame默认是BorderLayout布局,这句是将当前类的对象实例加到frame的中间位置。你如果使用GridBagLayout,就需要GridBagContraints限定组件的位置。
2023-07-24 06:00:142

import java.awt.BorderLayout;是什么意思?

导入边框布局
2023-07-24 06:00:232

getContentPane().setLayout(new BorderLayout());是什么意思?

将当前的Window的内容面板的布局改为BorderLayout。BorderLayout分上下左右中五块布局。
2023-07-24 06:00:301

输入import java.awt.BorderLayout;出现错误,属非法类型开始需要标识符怎么解决?谢谢

RunTime.exec("这里是命令");那就首先说点Runtime类吧,他是一个与JVM运行时环境有关的类,这个类是Singleton的。我说几个自己觉得重要的地方。1、Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法。2、Runtime上其他大部分的方法都是实例方法,也就是说每次进行运行时调用时都要用到getRuntime方法。3、Runtime中的exit方法是退出当前JVM的方法,估计也是唯一的一个吧,因为我看到System类中的exit实际上也是通过调用Runtime.exit()来退出JVM的,这里说明一下Java对Runtime返回值的一般规则(后边也提到了),0代表正常退出,非0代表异常中止,这只是Java的规则,在各个操作系统中总会发生一些小的混淆。4、Runtime.addShutdownHook()方法可以注册一个hook在JVM执行shutdown的过程中,方法的参数只要是一个初始化过但是没有执行的Thread实例就可以。(注意,Java中的Thread都是执行过了就不值钱的哦)5、说到addShutdownHook这个方法就要说一下JVM运行环境是在什么情况下shutdown或者abort的。文档上是这样写的,当最后一个非精灵进程退出或者收到了一个用户中断信号、用户登出、系统shutdown、Runtime的exit方法被调用时JVM会启动shutdown的过程,在这个过程开始后,他会并行启动所有登记的shutdown hook(注意是并行启动,这就需要线程安全和防止锁)。当shutdown过程启动后,只有通过调用halt方法才能中止shutdown的过程并退出JVM。那什么时候JVM会abort退出那?首先说明一下,abort退出时JVM就是停止运行但并不一定进行shutdown。这只有JVM在遇到SIGKILL信号或者windows中止进程的信号、本地方法发生类似于访问非法地址一类的内部错误时会出现。这种情况下并不能保证shutdown hook是否被执行。
2023-07-24 06:00:391

JAVA swing 里面,添加JPanel面板为BorderLayout.EAST后不显示

这是不可能摆脱;因为BorderLayout的卡车在五个位置。 如果你想补,那么它的setLayout(NULL); 然后把JPanel中,大如的SetSize()和JFrame的就OK了
2023-07-24 06:00:471

java东西南北中布局代码

layout? ???
2023-07-24 06:00:566

java swing中frame.add(this, BorderLayout.CENTER);是什么意思?

JFrame默认是BorderLayout布局,这句是将当前类的对象实例加到frame的中间位置。你如果使用GridBagLayout,就需要GridBagContraints 限定组件的位置。
2023-07-24 06:01:142

setLayout(new BorderLayout());这个在java中什么意思?

设置布局为边框布局,边框布局分东南西北中5个方位来添加控件。若没有指定方位,将添加到中间,上下左右都可以扩展。
2023-07-24 06:02:001

flowLayout与borderLayout布局嵌套

布局指定size 再试试
2023-07-24 06:02:082

java中的setLayout怎么用?

你应该清楚下布局管理器这个概念,它将GUI组件显示在容器上...主要有FlowLayout BorderLayout GridLayout,具体区别你自己查一下..他们也就是你所说的setLayout里面所涉及到的种类,你应该做的是个JApplet,它所默认的是BorderLayout,组件分为五个,南北东西中...
2023-07-24 06:02:185

帮我看一下程序

e.getSource() == "ok" 你再试试
2023-07-24 06:02:462

ZK框架中;vflex="true" 什么意思

强制客户端重新计算widget的大小
2023-07-24 06:02:541

用JAVA写一个计算器 要求有图形界面。简单的加减乘除,不要小数点运算。

java.swing 框架,百度一下不难虽然是个比较烂的图形框架
2023-07-24 06:03:024

Frame默认的布局管理器是( )。A.FlowLayoutB.BorderLayoutC.GridLayout

【答案】:B本题考查Java中的布局管理器。Flow-Layout是Pane和Applet默认的布局管理器,构件在容器中从上到下、从左到右进行放置;BorderLayout是Window、Frame和Dial09的默认布局管理器,在BorderLayout布局管理器中构件分成5个区域,每个区域只能放置-个构件;GridLayout使容器中各个构件呈网状布局,平均占据容器的空间;GardLayout把容器分成许多层,每层只能放置-个构件。
2023-07-24 06:03:101

swing里BorderLayout的BorderLayout.SOUTH布局里所有的东西居右显示怎么设定? 在线等…………

先放到一个JPanel里面,JPanel里面可以使用FlowLayout等的布局
2023-07-24 06:03:171

JAVA如何把界面分成上中下四个等分

您是想询问“JAVA如何把界面分成上下左右四个等分”吗?可以通过套用编程语言BorderLayout将其实现。因为BorderLayout设计出来时就说为了将上下或者左右分割,先用BorderLayout分割上下,再在其上套用BorderLayout分割左右。
2023-07-24 06:03:391

android 怎么绘制表格边框

一、表格最蛋疼的就是那根线,网上有个很好的方法,大概思路是这样的:1、给表格设置一个背景色(线的颜色)2、给表格设置一个内边距(线的宽度的一半)3、设置每一项内边距(线的宽度的一半)3、给项的内容设置一个背景色(颜色不同于线即可)显示效果大概是这样的:二、数据的动态加载使用Adapter类,便与布局加载自定义TableLayout加载的主体方法:public void setAdapter(BaseAdapter baseAdapter, int column) {if (baseAdapter == null || baseAdapter.getCount() == 0) {return;}this.mAdapter = baseAdapter;this.column = column;drawLayout();}private void drawLayout() {removeAllViews();int realcount = mAdapter.getCount();int count = 0;if (realcount < column) {count = column;} else if (realcount % column != 0) {count = realcount + column - (realcount % column);} else {count = realcount;}TableRow tableRow = null;//每一行的TableRowfor (int i = 0; i < count; i++) {final int index = i;View view = null;if (index >= realcount) {view = mAdapter.getView((realcount - 1), null, null);view.setVisibility(View.INVISIBLE);} else {view = mAdapter.getView(index, null, null);}if (index % column == 0) {// 整行tableRow = new TableRow(mContext);}if (tableRow != null) {//添加每一个ItemtableRow.addView(view);}if (index % column == 0) {// 整行addView(tableRow, new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));}}}三、使用和ListView的方式基本一样public class MainActivity extends Activity {private List<Map<String, Object>> dataList;private TableBorderLayout layTable;private String[] datas = new String[] { "疯狂", "个性", "张扬", "抖擞", "加油", "奋斗","努力", "精神" };@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initViews();loadDatas();}private void initViews() {layTable = (TableBorderLayout) findViewById(R.id.layTable);}private void loadDatas() {dataList = new ArrayList<Map<String, Object>>();Map<String, Object> item = null;for (int i = 0; i < datas.length; i++) {item = new HashMap<String, Object>();item.put("Title", datas[i]);dataList.add(item);}layTable.setAdapter(new MyAdapter(this, dataList));}}
2023-07-24 06:04:001

为什么java中添加两个按钮到JFrame中只显示后一个?

应该是你没有给框架进行布局导致的Jpanel自带为流水布局
2023-07-24 06:04:071

Java中为何引进布局管理器,它有什么作用?请简述Java中BorderLayout布局的基本特性。

excel和word 为什么内置布局呢?一样的道理,为了用户使用方便。仅是提供了一个使用方便的解决方案。
2023-07-24 06:04:201

JAVA GUI编程运行后出现空白。没悬赏,太穷了。。。

你建立了 p1、p2、p3、p4、p5、p6 这些 JPanel,但是你并没有加入到 JFrame 里面啊。
2023-07-24 06:04:301

JAVA-拜托高手帮帮忙.

你运行下不就知道了
2023-07-24 06:04:373

Jframe设为BorderLayout, Jpanel布局为null,把Jpanel添加到JFrame上东西南北任何一个位置都无法显示

楼上正解 !!!!!!!!!!!!!!
2023-07-24 06:04:452

JAVA中,Frame和Panel默认的布局管理器分别是什么类型?

Frame默认的是BorderLayout布局管理器Panel默认的是FlowLayout布局管理器
2023-07-24 06:05:014

一个JAVA界面的实现【200分】

人家要的是AWT做的,你们做的都是swing都不看题啊!!
2023-07-24 06:05:205

java里面GUI编程红色框里面的new是什么意思什么用法什么操作类做参数吗?

创建一个窗口对像…
2023-07-24 06:05:353

急急急java GUI问题(2)

BorderLayout是一个用着很不方便的布局管理器 它只有那几个简单的位置 你说不改变JTextField大小 ? 好象JTextField的垂直大小是固定的吧 而水平长短是根据初始条件确定的 对于其他的组件 都有setSize()方法 这个方法是Compenont中就有定义的 只要是继承它的子类 都有这个方法
2023-07-24 06:06:042

请问这是什么控件(java中)

这个是TAB控件
2023-07-24 06:06:133

java 怎样 改变 数组元素的值??

对于基本类型,在方法体内对方法参数进行重新赋值,并不会改变原有变量的值。由于JAVA中,并没有指针这个语法,如果你硬是要这样做,可以用数组进行传递
2023-07-24 06:06:364

Java问题

import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Graphics;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;public class Test{public static void main(String[] args) throws Exception {JFrame frame = new JFrame();final RectanglePanel panel = new RectanglePanel();frame.add(panel, BorderLayout.CENTER);JPanel paramPanel = new JPanel();paramPanel.setLayout(new FlowLayout(FlowLayout.CENTER));final JTextField widthField = new JTextField(5);final JTextField heightField = new JTextField(5);paramPanel.add(widthField);paramPanel.add(heightField);JButton button = new JButton("Draw");button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {try {int width = Integer.parseInt(widthField.getText());int height = Integer.parseInt(heightField.getText());panel.setRectangleSize(width, height);panel.repaint();} catch (Exception ex) {}}});paramPanel.add(button);frame.add(paramPanel, BorderLayout.SOUTH);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setExtendedState(JFrame.MAXIMIZED_BOTH);frame.setVisible(true);}}class RectanglePanel extends JPanel {int width = 0, height = 0;void setRectangleSize(int width, int height) {this.width = width;this.height = height;}public void paint(Graphics g) {super.paint(g);g.setColor(Color.BLACK);g.drawRect(1, 1, width, height);}}
2023-07-24 06:06:421

java怎样实现点击一个带图片按钮的,然后把按钮的图片显示在指定label上?没财富值了,谢谢

label.setIcon(button.getIcon())
2023-07-24 06:06:521

为什么这个程序为按钮添加图片必须要绝对路径,相对路径就无法添加呢?(现在是相对路径,无法显示)

2023-07-24 06:07:123